/*
*  jQuery tui scombo plugin 0.8.1
*
*  Copyright (c) 2010 china www.tuge.com
*
* Dual licensed under the MIT and GPL licenses:
*   http://www.opensource.org/licenses/mit-license.php
*   http://www.gnu.org/licenses/gpl.html
*
* Create: 2009-xx-xx xx:xx:xx $
* Revision: $Id: tui.scombo.js  2010-09-26 09:29:43 $ 
*
*/

; (function($) {
    // count:20902,Unicode from 19968 to 40869
    var strChineseFirstPY = "YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJTMYHZWZHFLZPPQHGSCYYYNJQYXXGJHHSDSJNKKTMOMLCRXYPSNQSECCQZGGLLYJLMYZZSECYKYYHQWJSSGGYXYZYJWWKDJHYCHMYXJTLXJYQBYXZLDWRDJRWYSRLDZJPCBZJJBRCFTLECZSTZFXXZHTRQHYBDLYCZSSYMMRFMYQZPWWJJYFCRWFDFZQPYDDWYXKYJAWJFFXYPSFTZYHHYZYSWCJYXSCLCXXWZZXNBGNNXBXLZSZSBSGPYSYZDHMDZBQBZCWDZZYYTZHBTSYYBZGNTNXQYWQSKBPHHLXGYBFMJEBJHHGQTJCYSXSTKZHLYCKGLYSMZXYALMELDCCXGZYRJXSDLTYZCQKCNNJWHJTZZCQLJSTSTBNXBTYXCEQXGKWJYFLZQLYHYXSPSFXLMPBYSXXXYDJCZYLLLSJXFHJXPJBTFFYABYXBHZZBJYZLWLCZGGBTSSMDTJZXPTHYQTGLJSCQFZKJZJQNLZWLSLHDZBWJNCJZYZSQQYCQYRZCJJWYBRTWPYFTWEXCSKDZCTBZHYZZYYJXZCFFZZMJYXXSDZZOTTBZLQWFCKSZSXFYRLNYJMBDTHJXSQQCCSBXYYTSYFBXDZTGBCNSLCYZZPSAZYZZSCJCSHZQYDXLBPJLLMQXTYDZXSQJTZPXLCGLQTZWJBHCTSYJSFXYEJJTLBGXSXJMYJQQPFZASYJNTYDJXKJCDJSZCBARTDCLYJQMWNQNCLLLKBYBZZSYHQQLTWLCCXTXLLZNTYLNEWYZYXCZXXGRKRMTCNDNJTSYYSSDQDGHSDBJGHRWRQLYBGLXHLGTGXBQJDZPYJSJYJCTMRNYMGRZJCZGJMZMGXMPRYXKJNYMSGMZJYMKMFXMLDTGFBHCJHKYLPFMDXLQJJSMTQGZSJLQDLDGJYCALCMZCSDJLLNXDJFFFFJCZFMZFFPFKHKGDPSXKTACJDHHZDDCRRCFQYJKQCCWJDXHWJLYLLZGCFCQDSMLZPBJJPLSBCJGGDCKKDEZSQCCKJGCGKDJTJDLZYCXKLQSCGJCLTFPCQCZGWPJDQYZJJBYJHSJDZWGFSJGZKQCCZLLPSPKJGQJHZZLJPLGJGJJTHJJYJZCZMLZLYQBGJWMLJKXZDZNJQSYZMLJLLJKYWXMKJLHSKJGBMCLYYMKXJQLBMLLKMDXXKWYXYSLMLPSJQQJQXYXFJTJDXMXXLLCXQBSYJBGWYMBGGBCYXPJYGPEPFGDJGBHBNSQJYZJKJKHXQFGQZKFHYGKHDKLLSDJQXPQYKYBNQSXQNSZSWHBSXWHXWBZZXDMNSJBSBKBBZKLYLXGWXDRWYQZMYWSJQLCJXXJXKJEQXSCYETLZHLYYYSDZPAQYZCMTLSHTZCFYZYXYLJSDCJQAGYSLCQLYYYSHMRQQKLDXZSCSSSYDYCJYSFSJBFRSSZQSBXXPXJYSDRCKGJLGDKZJZBDKTCSYQPYHSTCLDJDHMXMCGXYZHJDDTMHLTXZXYLYMOHYJCLTYFBQQXPFBDFHHTKSQHZYYWCNXXCRWHOWGYJLEGWDQCWGFJYCSNTMYTOLBYGWQWESJPWNMLRYDZSZTXYQPZGCWXHNGPYXSHMYQJXZTDPPBFYHZHTJYFDZWKGKZBLDNTSXHQEEGZZYLZMMZYJZGXZXKHKSTXNXXWYLYAPSTHXDWHZYMPXAGKYDXBHNHXKDPJNMYHYLPMGOCSLNZHKXXLPZZLBMLSFBHHGYGYYGGBHSCYAQTYWLXTZQCEZYDQDQMMHTKLLSZHLSJZWFYHQSWSCWLQAZYNYTLSXTHAZNKZZSZZLAXXZWWCTGQQTDDYZTCCHYQZFLXPSLZYGPZSZNGLNDQTBDLXGTCTAJDKYWNSYZLJHHZZCWNYYZYWMHYCHHYXHJKZWSXHZYXLYSKQYSPSLYZWMYPPKBYGLKZHTYXAXQSYSHXASMCHKDSCRSWJPWXSGZJLWWSCHSJHSQNHCSEGNDAQTBAALZZMSSTDQJCJKTSCJAXPLGGXHHGXXZCXPDMMHLDGTYBYSJMXHMRCPXXJZCKZXSHMLQXXTTHXWZFKHCCZDYTCJYXQHLXDHYPJQXYLSYYDZOZJNYXQEZYSQYAYXWYPDGXDDXSPPYZNDLTWRHXYDXZZJHTCXMCZLHPYYYYMHZLLHNXMYLLLMDCPPXHMXDKYCYRDLTXJCHHZZXZLCCLYLNZSHZJZZLNNRLWHYQSNJHXYNTTTKYJPYCHHYEGKCTTWLGQRLGGTGTYGYHPYHYLQYQGCWYQKPYYYTTTTLHYHLLTYTTSPLKYZXGZWGPYDSSZZDQXSKCQNMJJZZBXYQMJRTFFBTKHZKBXLJJKDXJTLBWFZPPTKQTZTGPDGNTPJYFALQMKGXBDCLZFHZCLLLLADPMXDJHLCCLGYHDZFGYDDGCYYFGYDXKSSEBDHYKDKDKHNAXXYBPBYYHXZQGAFFQYJXDMLJCSQZLLPCHBSXGJYNDYBYQSPZWJLZKSDDTACTBXZDYZYPJZQSJNKKTKNJDJGYYPGTLFYQKASDNTCYHBLWDZHBBYDWJRYGKZYHEYYFJMSDTYFZJJHGCXPLXHLDWXXJKYTCYKSSSMTWCTTQZLPBSZDZWZXGZAGYKTYWXLHLSPBCLLOQMMZSSLCMBJCSZZKYDCZJGQQDSMCYTZQQLWZQZXSSFPTTFQMDDZDSHDTDWFHTDYZJYQJQKYPBDJYYXTLJHDRQXXXHAYDHRJLKLYTWHLLRLLRCXYLBWSRSZZSYMKZZHHKYHXKSMDSYDYCJPBZBSQLFCXXXNXKXWYWSDZYQOGGQMMYHCDZTTFJYYBGSTTTYBYKJDHKYXBELHTYPJQNFXFDYKZHQKZBYJTZBXHFDXKDASWTAWAJLDYJSFHBLDNNTNQJTJNCHXFJSRFWHZFMDRYJYJWZPDJKZYJYMPCYZNYNXFBYTFYFWYGDBNZZZDNYTXZEMMQBSQEHXFZMBMFLZZSRXYMJGSXWZJSPRYDJSJGXHJJGLJJYNZZJXHGXKYMLPYYYCXYTWQZSWHWLYRJLPXSLSXMFSWWKLCTNXNYNPSJSZHDZEPTXMYYWXYYSYWLXJQZQXZDCLEEELMCPJPCLWBXSQHFWWTFFJTNQJHJQDXHWLBYZNFJLALKYYJLDXHHYCSTYYWNRJYXYWTRMDRQHWQCMFJDYZMHMYYXJWMYZQZXTLMRSPWWCHAQBXYGZYPXYYRRCLMPYMGKSJSZYSRMYJSNXTPLNBAPPYPYLXYYZKYNLDZYJZCZNNLMZHHARQMPGWQTZMXXMLLHGDZXYHXKYXYCJMFFYYHJFSBSSQLXXNDYCANNMTCJCYPRRNYTYQNYYMBMSXNDLYLYSLJRLXYSXQMLLYZLZJJJKYZZCSFBZXXMSTBJGNXYZHLXNMCWSCYZYFZLXBRNNNYLBNRTGZQYSATSWRYHYJZMZDHZGZDWYBSSCSKXSYHYTXXGCQGXZZSHYXJSCRHMKKBXCZJYJYMKQHZJFNBHMQHYSNJNZYBKNQMCLGQHWLZNZSWXKHLJHYYBQLBFCDSXDLDSPFZPSKJYZWZXZDDXJSMMEGJSCSSMGCLXXKYYYLNYPWWWGYDKZJGGGZGGSYCKNJWNJPCXBJJTQTJWDSSPJXZXNZXUMELPXFSXTLLXCLJXJJLJZXCTPSWXLYDHLYQRWHSYCSQYYBYAYWJJJQFWQCQQCJQGXALDBZZYJGKGXPLTZYFXJLTPADKYQHPMATLCPDCKBMTXYBHKLENXDLEEGQDYMSAWHZMLJTWYGXLYQZLJEEYYBQQFFNLYXRDSCTGJGXYYNKLLYQKCCTLHJLQMKKZGCYYGLLLJDZGYDHZWXPYSJBZKDZGYZZHYWYFQYTYZSZYEZZLYMHJJHTSMQWYZLKYYWZCSRKQYTLTDXWCTYJKLWSQZWBDCQYNCJSRSZJLKCDCDTLZZZACQQZZDDXYPLXZBQJYLZLLLQDDZQJYJYJZYXNYYYNYJXKXDAZWYRDLJYYYRJLXLLDYXJCYWYWNQCCLDDNYYYNYCKCZHXXCCLGZQJGKWPPCQQJYSBZZXYJSQPXJPZBSBDSFNSFPZXHDWZTDWPPTFLZZBZDMYYPQJRSDZSQZSQXBDGCPZSWDWCSQZGMDHZXMWWFYBPDGPHTMJTHZSMMBGZMBZJCFZWFZBBZMQCFMBDMCJXLGPNJBBXGYHYYJGPTZGZMQBQTCGYXJXLWZKYDPDYMGCFTPFXYZTZXDZXTGKMTYBBCLBJASKYTSSQYYMSZXFJEWLXLLSZBQJJJAKLYLXLYCCTSXMCWFKKKBSXLLLLJYXTYLTJYYTDPJHNHNNKBYQNFQYYZBYYESSESSGDYHFHWTCJBSDZZTFDMXHCNJZYMQWSRYJDZJQPDQBBSTJGGFBKJBXTGQHNGWJXJGDLLTHZHHYYYYYYSXWTYYYCCBDBPYPZYCCZYJPZYWCBDLFWZCWJDXXHYHLHWZZXJTCZLCDPXUJCZZZLYXJJTXPHFXWPYWXZPTDZZBDZCYHJHMLXBQXSBYLRDTGJRRCTTTHYTCZWMXFYTWWZCWJWXJYWCSKYBZSCCTZQNHXNWXXKHKFHTSWOCCJYBCMPZZYKBNNZPBZHHZDLSYDDYTYFJPXYNGFXBYQXCBHXCPSXTYZDMKYSNXSXLHKMZXLYHDHKWHXXSSKQYHHCJYXGLHZXCSNHEKDTGZXQYPKDHEXTYKCNYMYYYPKQYYYKXZLTHJQTBYQHXBMYHSQCKWWYLLHCYYLNNEQXQWMCFBDCCMLJGGXDQKTLXKGNQCDGZJWYJJLYHHQTTTNWCHMXCXWHWSZJYDJCCDBQCDGDNYXZTHCQRXCBHZTQCBXWGQWYYBXHMBYMYQTYEXMQKYAQYRGYZSLFYKKQHYSSQYSHJGJCNXKZYCXSBXYXHYYLSTYCXQTHYSMGSCPMMGCCCCCMTZTASMGQZJHKLOSQYLSWTMXSYQKDZLJQQYPLSYCZTCQQPBBQJZCLPKHQZYYXXDTDDTSJCXFFLLCHQXMJLWCJCXTSPYCXNDTJSHJWXDQQJSKXYAMYLSJHMLALYKXCYYDMNMDQMXMCZNNCYBZKKYFLMCHCMLHXRCJJHSYLNMTJZGZGYWJXSRXCWJGJQHQZDQJDCJJZKJKGDZQGJJYJYLXZXXCDQHHHEYTMHLFSBDJSYYSHFYSTCZQLPBDRFRZTZYKYWHSZYQKWDQZRKMSYNBCRXQBJYFAZPZZEDZCJYWBCJWHYJBQSZYWRYSZPTDKZPFPBNZTKLQYHBBZPNPPTYZZYBQNYDCPJMMCYCQMCYFZZDCMNLFPBPLNGQJTBTTNJZPZBBZNJKLJQYLNBZQHKSJZNGGQSZZKYXSHPZSNBCGZKDDZQANZHJKDRTLZLSWJLJZLYWTJNDJZJHXYAYNCBGTZCSSQMNJPJYTYSWXZFKWJQTKHTZPLBHSNJZSYZBWZZZZLSYLSBJHDWWQPSLMMFBJDWAQYZTCJTBNNWZXQXCDSLQGDSDPDZHJTQQPSWLYYJZLGYXYZLCTCBJTKTYCZJTQKBSJLGMGZDMCSGPYNJZYQYYKNXRPWSZXMTNCSZZYXYBYHYZAXYWQCJTLLCKJJTJHGDXDXYQYZZBYWDLWQCGLZGJGQRQZCZSSBCRPCSKYDZNXJSQGXSSJMYDNSTZTPBDLTKZWXQWQTZEXNQCZGWEZKSSBYBRTSSSLCCGBPSZQSZLCCGLLLZXHZQTHCZMQGYZQZNMCOCSZJMMZSQPJYGQLJYJPPLDXRGZYXCCSXHSHGTZNLZWZKJCXTCFCJXLBMQBCZZWPQDNHXLJCTHYZLGYLNLSZZPCXDSCQQHJQKSXZPBAJYEMSMJTZDXLCJYRYYNWJBNGZZTMJXLTBSLYRZPYLSSCNXPHLLHYLLQQZQLXYMRSYCXZLMMCZLTZSDWTJJLLNZGGQXPFSKYGYGHBFZPDKMWGHCXMSGDXJMCJZDYCABXJDLNBCDQYGSKYDQTXDJJYXMSZQAZDZFSLQXYJSJZYLBTXXWXQQZBJZUFBBLYLWDSLJHXJYZJWTDJCZFQZQZZDZSXZZQLZCDZFJHYSPYMPQZMLPPLFFXJJNZZYLSJEYQZFPFZKSYWJJJHRDJZZXTXXGLGHYDXCSKYSWMMZCWYBAZBJKSHFHJCXMHFQHYXXYZFTSJYZFXYXPZLCHMZMBXHZZSXYFYMNCWDABAZLXKTCSHHXKXJJZJSTHYGXSXYYHHHJWXKZXSSBZZWHHHCWTZZZPJXSNXQQJGZYZYWLLCWXZFXXYXYHXMKYYSWSQMNLNAYCYSPMJKHWCQHYLAJJMZXHMMCNZHBHXCLXTJPLTXYJHDYYLTTXFSZHYXXSJBJYAYRSMXYPLCKDUYHLXRLNLLSTYZYYQYGYHHSCCSMZCTZQXKYQFPYYRPFFLKQUNTSZLLZMWWTCQQYZWTLLMLMPWMBZSSTZRBPDDTLQJJBXZCSRZQQYGWCSXFWZLXCCRSZDZMCYGGDZQSGTJSWLJMYMMZYHFBJDGYXCCPSHXNZCSBSJYJGJMPPWAFFYFNXHYZXZYLREMZGZCYZSSZDLLJCSQFNXZKPTXZGXJJGFMYYYSNBTYLBNLHPFZDCYFBMGQRRSSSZXYSGTZRNYDZZCDGPJAFJFZKNZBLCZSZPSGCYCJSZLMLRSZBZZLDLSLLYSXSQZQLYXZLSKKBRXBRBZCYCXZZZEEYFGKLZLYYHGZSGZLFJHGTGWKRAAJYZKZQTSSHJJXDCYZUYJLZYRZDQQHGJZXSSZBYKJPBFRTJXLLFQWJHYLQTYMBLPZDXTZYGBDHZZRBGXHWNJTJXLKSCFSMWLSDQYSJTXKZSCFWJLBXFTZLLJZLLQBLSQMQQCGCZFPBPHZCZJLPYYGGDTGWDCFCZQYYYQYSSCLXZSKLZZZGFFCQNWGLHQYZJJCZLQZZYJPJZZBPDCCMHJGXDQDGDLZQMFGPSYTSDYFWWDJZJYSXYYCZCYHZWPBYKXRYLYBHKJKSFXTZJMMCKHLLTNYYMSYXYZPYJQYCSYCWMTJJKQYRHLLQXPSGTLYYCLJSCPXJYZFNMLRGJJTYZBXYZMSJYJHHFZQMSYXRSZCWTLRTQZSSTKXGQKGSPTGCZNJSJCQCXHMXGGZTQYDJKZDLBZSXJLHYQGGGTHQSZPYHJHHGYYGKGGCWJZZYLCZLXQSFTGZSLLLMLJSKCTBLLZZSZMMNYTPZSXQHJCJYQXYZXZQZCPSHKZZYSXCDFGMWQRLLQXRFZTLYSTCTMJCXJJXHJNXTNRZTZFQYHQGLLGCXSZSJDJLJCYDSJTLNYXHSZXCGJZYQPYLFHDJSBPCCZHJJJQZJQDYBSSLLCMYTTMQTBHJQNNYGKYRQYQMZGCJKPDCGMYZHQLLSLLCLMHOLZGDYYFZSLJCQZLYLZQJESHNYLLJXGJXLYSYYYXNBZLJSSZCQQCJYLLZLTJYLLZLLBNYLGQCHXYYXOXCXQKYJXXXYKLXSXXYQXCYKQXQCSGYXXYQXYGYTQOHXHXPYXXXULCYEYCHZZCBWQBBWJQZSCSZSSLZYLKDESJZWMYMCYTSDSXXSCJPQQSQYLYYZYCMDJDZYWCBTJSYDJKCYDDJLBDJJSODZYSYXQQYXDHHGQQYQHDYXWGMMMAJDYBBBPPBCMUUPLJZSMTXERXJMHQNUTPJDCBSSMSSSTKJTSSMMTRCPLZSZMLQDSDMJMQPNQDXCFYNBFSDQXYXHYAYKQYDDLQYYYSSZBYDSLNTFQTZQPZMCHDHCZCWFDXTMYQSPHQYYXSRGJCWTJTZZQMGWJJTJHTQJBBHWZPXXHYQFXXQYWYYHYSCDYDHHQMNMTMWCPBSZPPZZGLMZFOLLCFWHMMSJZTTDHZZYFFYTZZGZYSKYJXQYJZQBHMBZZLYGHGFMSHPZFZSNCLPBQSNJXZSLXXFPMTYJYGBXLLDLXPZJYZJYHHZCYWHJYLSJEXFSZZYWXKZJLUYDTMLYMQJPWXYHXSKTQJEZRPXXZHHMHWQPWQLYJJQJJZSZCPHJLCHHNXJLQWZJHBMZYXBDHHYPZLHLHLGFWLCHYYTLHJXCJMSCPXSTKPNHQXSRTYXXTESYJCTLSSLSTDLLLWWYHDHRJZSFGXTSYCZYNYHTDHWJSLHTZDQDJZXXQHGYLTZPHCSQFCLNJTCLZPFSTPDYNYLGMJLLYCQHYSSHCHYLHQYQTMZYPBYWRFQYKQSYSLZDQJMPXYYSSRHZJNYWTQDFZBWWTWWRXCWHGYHXMKMYYYQMSMZHNGCEPMLQQMTCWCTMMPXJPJJHFXYYZSXZHTYBMSTSYJTTQQQYYLHYNPYQZLCYZHZWSMYLKFJXLWGXYPJYTYSYXYMZCKTTWLKSMZSYLMPWLZWXWQZSSAQSYXYRHSSNTSRAPXCPWCMGDXHXZDZYFJHGZTTSBJHGYZSZYSMYCLLLXBTYXHBBZJKSSDMALXHYCFYGMQYPJYCQXJLLLJGSLZGQLYCJCCZOTYXMTMTTLLWTGPXYMZMKLPSZZZXHKQYSXCTYJZYHXSHYXZKXLZWPSQPYHJWPJPWXQQYLXSDHMRSLZZYZWTTCYXYSZZSHBSCCSTPLWSSCJCHNLCGCHSSPHYLHFHHXJSXYLLNYLSZDHZXYLSXLWZYKCLDYAXZCMDDYSPJTQJZLNWQPSSSWCTSTSZLBLNXSMNYYMJQBQHRZWTYYDCHQLXKPZWBGQYBKFCMZWPZLLYYLSZYDWHXPSBCMLJBSCGBHXLQHYRLJXYSWXWXZSLDFHLSLYNJLZYFLYJYCDRJLFSYZFSLLCQYQFGJYHYXZLYLMSTDJCYHBZLLNWLXXYGYYHSMGDHXXHHLZZJZXCZZZCYQZFNGWPYLCPKPYYPMCLQKDGXZGGWQBDXZZKZFBXXLZXJTPJPTTBYTSZZDWSLCHZHSLTYXHQLHYXXXYYZYSWTXZKHLXZXZPYHGCHKCFSYHUTJRLXFJXPTZTWHPLYXFCRHXSHXKYXXYHZQDXQWULHYHMJTBFLKHTXCWHJFWJCFPQRYQXCYYYQYGRPYWSGSUNGWCHKZDXYFLXXHJJBYZWTSXXNCYJJYMSWZJQRMHXZWFQSYLZJZGBHYNSLBGTTCSYBYXXWXYHXYYXNSQYXMQYWRGYQLXBBZLJSYLPSYTJZYHYZAWLRORJMKSCZJXXXYXCHDYXRYXXJDTSQFXLYLTSFFYXLMTYJMJUYYYXLTZCSXQZQHZXLYYXZHDNBRXXXJCTYHLBRLMBRLLAXKYLLLJLYXXLYCRYLCJTGJCMTLZLLCYZZPZPCYAWHJJFYBDYYZSMPCKZDQYQPBPCJPDCYZMDPBCYYDYCNNPLMTMLRMFMMGWYZBSJGYGSMZQQQZTXMKQWGXLLPJGZBQCDJJJFPKJKCXBLJMSWMDTQJXLDLPPBXCWRCQFBFQJCZAHZGMYKPHYYHZYKNDKZMBPJYXPXYHLFPNYYGXJDBKXNXHJMZJXSTRSTLDXSKZYSYBZXJLXYSLBZYSLHXJPFXPQNBYLLJQKYGZMCYZZYMCCSLCLHZFWFWYXZMWSXTYNXJHPYYMCYSPMHYSMYDYSHQYZCHMJJMZCAAGCFJBBHPLYZYLXXSDJGXDHKXXTXXNBHRMLYJSLTXMRHNLXQJXYZLLYSWQGDLBJHDCGJYQYCMHWFMJYBMBYJYJWYMDPWHXQLDYGPDFXXBCGJSPCKRSSYZJMSLBZZJFLJJJLGXZGYXYXLSZQYXBEXYXHGCXBPLDYHWETTWWCJMBTXCHXYQXLLXFLYXLLJLSSFWDPZSMYJCLMWYTCZPCHQEKCQBWLCQYDPLQPPQZQFJQDJHYMMCXTXDRMJWRHXCJZYLQXDYYNHYYHRSLSRSYWWZJYMTLTLLGTQCJZYABTCKZCJYCCQLJZQXALMZYHYWLWDXZXQDLLQSHGPJFJLJHJABCQZDJGTKHSSTCYJLPSWZLXZXRWGLDLZRLZXTGSLLLLZLYXXWGDZYGBDPHZPBRLWSXQBPFDWOFMWHLYPCBJCCLDMBZPBZZLCYQXLDOMZBLZWPDWYYGDSTTHCSQSCCRSSSYSLFYBFNTYJSZDFNDPDHDZZMBBLSLCMYFFGTJJQWFTMTPJWFNLBZCMMJTGBDZLQLPYFHYYMJYLSDCHDZJWJCCTLJCLDTLJJCPDDSQDSSZYBNDBJLGGJZXSXNLYCYBJXQYCBYLZCFZPPGKCXZDZFZTJJFJSJXZBNZYJQTTYJYHTYCZHYMDJXTTMPXSPLZCDWSLSHXYPZGTFMLCJTYCBPMGDKWYCYZCDSZZYHFLYCTYGWHKJYYLSJCXGYWJCBLLCSNDDBTZBSCLYZCZZSSQDLLMQYYHFSLQLLXFTYHABXGWNYWYYPLLSDLDLLBJCYXJZMLHLJDXYYQYTDLLLBUGBFDFBBQJZZMDPJHGCLGMJJPGAEHHBWCQXAXHHHZCHXYPHJAXHLPHJPGPZJQCQZGJJZZUZDMQYYBZZPHYHYBWHAZYJHYKFGDPFQSDLZMLJXKXGALXZDAGLMDGXMWZQYXXDXXPFDMMSSYMPFMDMMKXKSYZYSHDZKXSYSMMZZZMSYDNZZCZXFPLSTMZDNMXCKJMZTYYMZMZZMSXHHDCZJEMXXKLJSTLWLSQLYJZLLZJSSDPPMHNLZJCZYHMXXHGZCJMDHXTKGRMXFWMCGMWKDTKSXQMMMFZZYDKMSCLCMPCGMHSPXQPZDSSLCXKYXTWLWJYAHZJGZQMCSNXYYMMPMLKJXMHLMLQMXCTKZMJQYSZJSYSZHSYJZJCDAJZYBSDQJZGWZQQXFKDMSDJLFWEHKZQKJPEYPZYSZCDWYJFFMZZYLTTDZZEFMZLBNPPLPLPEPSZALLTYLKCKQZKGENQLWAGYXYDPXLHSXQQWQCQXQCLHYXXMLYCCWLYMQYSKGCHLCJNSZKPYZKCQZQLJPDMDZHLASXLBYDWQLWDNBQCRYDDZTJYBKBWSZDXDTNPJDTCTQDFXQQMGNXECLTTBKPWSLCTYQLPWYZZKLPYGZCQQPLLKCCYLPQMZCZQCLJSLQZDJXLDDHPZQDLJJXZQDXYZQKZLJCYQDYJPPYPQYKJYRMPCBYMCXKLLZLLFQPYLLLMBSGLCYSSLRSYSQTMXYXZQZFDZUYSYZTFFMZZSMZQHZSSCCMLYXWTPZGXZJGZGSJSGKDDHTQGGZLLBJDZLCBCHYXYZHZFYWXYZYMSDBZZYJGTSMTFXQYXQSTDGSLNXDLRYZZLRYYLXQHTXSRTZNGZXBNQQZFMYKMZJBZYMKBPNLYZPBLMCNQYZZZSJZHJCTZKHYZZJRDYZHNPXGLFZTLKGJTCTSSYLLGZRZBBQZZKLPKLCZYSSUYXBJFPNJZZXCDWXZYJXZZDJJKGGRSRJKMSMZJLSJYWQSKYHQJSXPJZZZLSNSHRNYPZTWCHKLPSRZLZXYJQXQKYSJYCZTLQZYBBYBWZPQDWWYZCYTJCJXCKCWDKKZXSGKDZXWWYYJQYYTCYTDLLXWKCZKKLCCLZCQQDZLQLCSFQCHQHSFSMQZZLNBJJZBSJHTSZDYSJQJPDLZCDCWJKJZZLPYCGMZWDJJBSJQZSYZYHHXJPBJYDSSXDZNCGLQMBTSFSBPDZDLZNFGFJGFSMPXJQLMBLGQCYYXBQKDJJQYRFKZTJDHCZKLBSDZCFJTPLLJGXHYXZCSSZZXSTJYGKGCKGYOQXJPLZPBPGTGYJZGHZQZZLBJLSQFZGKQQJZGYCZBZQTLDXRJXBSXXPZXHYZYCLWDXJJHXMFDZPFZHQHQMQGKSLYHTYCGFRZGNQXCLPDLBZCSCZQLLJBLHBZCYPZZPPDYMZZSGYHCKCPZJGSLJLNSCDSLDLXBMSTLDDFJMKDJDHZLZXLSZQPQPGJLLYBDSZGQLBZLSLKYYHZTTNTJYQTZZPSZQZTLLJTYYLLQLLQYZQLBDZLSLYYZYMDFSZSNHLXZNCZQZPBWSKRFBSYZMTHBLGJPMCZZLSTLXSHTCSYZLZBLFEQHLXFLCJLYLJQCBZLZJHHSSTBRMHXZHJZCLXFNBGXGTQJCZTMSFZKJMSSNXLJKBHSJXNTNLZDNTLMSJXGZJYJCZXYJYJWRWWQNZTNFJSZPZSHZJFYRDJSFSZJZBJFZQZZHZLXFYSBZQLZSGYFTZDCSZXZJBQMSZKJRHYJZCKMJKHCHGTXKXQGLXPXFXTRTYLXJXHDTSJXHJZJXZWZLCQSBTXWXGXTXXHXFTSDKFJHZYJFJXRZSDLLLTQSQQZQWZXSYQTWGWBZCGZLLYZBCLMQQTZHZXZXLJFRMYZFLXYSQXXJKXRMQDZDMMYYBSQBHGZMWFWXGMXLZPYYTGZYCCDXYZXYWGSYJYZNBHPZJSQSYXSXRTFYZGRHZTXSZZTHCBFCLSYXZLZQMZLMPLMXZJXSFLBYZMYQHXJSXRXSQZZZSSLYFRCZJRCRXHHZXQYDYHXSJJHZCXZBTYNSYSXJBQLPXZQPYMLXZKYXLXCJLCYSXXZZLXDLLLJJYHZXGYJWKJRWYHCPSGNRZLFZWFZZNSXGXFLZSXZZZBFCSYJDBRJKRDHHGXJLJJTGXJXXSTJTJXLYXQFCSGSWMSBCTLQZZWLZZKXJMLTMJYHSDDBXGZHDLBMYJFRZFSGCLYJBPMLYSMSXLSZJQQHJZFXGFQFQBPXZGYYQXGZTCQWYLTLGWSGWHRLFSFGZJMGMGBGTJFSYZZGZYZAFLSSPMLPFLCWBJZCLJJMZLPJJLYMQDMYYYFBGYGYZMLYZDXQYXRQQQHSYYYQXYLJTYXFSFSLLGNQCYHYCWFHCCCFXPYLYPLLZYXXXXXKQHHXSHJZCFZSCZJXCPZWHHHHHAPYLQALPQAFYHXDYLUKMZQGGGDDESRNNZLTZGCHYPPYSQJJHCLLJTOLNJPZLJLHYMHEYDYDSQYCDDHGZUNDZCLZYZLLZNTNYZGSLHSLPJJBDGWXPCDUTJCKLKCLWKLLCASSTKZZDNQNTTLYYZSSYSSZZRYLJQKCQDHHCRXRZYDGRGCWCGZQFFFPPJFZYNAKRGYWYQPQXXFKJTSZZXSWZDDFBBXTBGTZKZNPZZPZXZPJSZBMQHKCYXYLDKLJNYPKYGHGDZJXXEAHPNZKZTZCMXCXMMJXNKSZQNMNLWBWWXJKYHCPSTMCSQTZJYXTPCTPDTNNPGLLLZSJLSPBLPLQHDTNJNLYYRSZFFJFQWDPHZDWMRZCCLODAXNSSNYZRESTYJWJYJDBCFXNMWTTBYLWSTSZGYBLJPXGLBOCLHPCBJLTMXZLJYLZXCLTPNCLCKXTPZJSWCYXSFYSZDKNTLBYJCYJLLSTGQCBXRYZXBXKLYLHZLQZLNZCXWJZLJZJNCJHXMNZZGJZZXTZJXYCYYCXXJYYXJJXSSSJSTSSTTPPGQTCSXWZDCSYFPTFBFHFBBLZJCLZZDBXGCXLQPXKFZFLSYLTUWBMQJHSZBMDDBCYSCCLDXYCDDQLYJJWMQLLCSGLJJSYFPYYCCYLTJANTJJPWYCMMGQYYSXDXQMZHSZXPFTWWZQSWQRFKJLZJQQYFBRXJHHFWJJZYQAZMYFRHCYYBYQWLPEXCCZSTYRLTTDMQLYKMBBGMYYJPRKZNPBSXYXBHYZDJDNGHPMFSGMWFZMFQMMBCMZZCJJLCNUXYQLMLRYGQZCYXZLWJGCJCGGMCJNFYZZJHYCPRRCMTZQZXHFQGTJXCCJEAQCRJYHPLQLSZDJRBCQHQDYRHYLYXJSYMHZYDWLDFRYHBPYDTSSCNWBXGLPZMLZZTQSSCPJMXXYCSJYTYCGHYCJWYRXXLFEMWJNMKLLSWTXHYYYNCMMCWJDQDJZGLLJWJRKHPZGGFLCCSCZMCBLTBHBQJXQDSPDJZZGKGLFQYWBZYZJLTSTDHQHCTCBCHFLQMPWDSHYYTQWCNZZJTLBYMBPDYYYXSQKXWYYFLXXNCWCXYPMAELYKKJMZZZBRXYYQJFLJPFHHHYTZZXSGQQMHSPGDZQWBWPJHZJDYSCQWZKTXXSQLZYYMYSDZGRXCKKUJLWPYSYSCSYZLRMLQSYLJXBCXTLWDQZPCYCYKPPPNSXFYZJJRCEMHSZMSXLXGLRWGCSTLRSXBZGBZGZTCPLUJLSLYLYMTXMTZPALZXPXJTJWTCYYZLBLXBZLQMYLXPGHDSLSSDMXMBDZZSXWHAMLCZCPJMCNHJYSNSYGCHSKQMZZQDLLKABLWJXSFMOCDXJRRLYQZKJMYBYQLYHETFJZFRFKSRYXFJTWDSXXSYSQJYSLYXWJHSNLXYYXHBHAWHHJZXWMYLJCSSLKYDZTXBZSYFDXGXZJKHSXXYBSSXDPYNZWRPTQZCZENYGCXQFJYKJBZMLJCMQQXUOXSLYXXLYLLJDZBTYMHPFSTTQQWLHOKYBLZZALZXQLHZWRRQHLSTMYPYXJJXMQSJFNBXYXYJXXYQYLTHYLQYFMLKLJTMLLHSZWKZHLJMLHLJKLJSTLQXYLMBHHLNLZXQJHXCFXXLHYHJJGBYZZKBXSCQDJQDSUJZYYHZHHMGSXCSYMXFEBCQWWRBPYYJQTYZCYQYQQZYHMWFFHGZFRJFCDPXNTQYZPDYKHJLFRZXPPXZDBBGZQSTLGDGYLCQMLCHHMFYWLZYXKJLYPQHSYWMQQGQZMLZJNSQXJQSYJYCBEHSXFSZPXZWFLLBCYYJDYTDTHWZSFJMQQYJLMQXXLLDTTKHHYBFPWTYYSQQWNQWLGWDEBZWCMYGCULKJXTMXMYJSXHYBRWFYMWFRXYQMXYSZTZZTFYKMLDHQDXWYYNLCRYJBLPSXCXYWLSPRRJWXHQYPHTYDNXHHMMYWYTZCSQMTSSCCDALWZTCPQPYJLLQZYJSWXMZZMMYLMXCLMXCZMXMZSQTZPPQQBLPGXQZHFLJJHYTJSRXWZXSCCDLXTYJDCQJXSLQYCLZXLZZXMXQRJMHRHZJBHMFLJLMLCLQNLDXZLLLPYPSYJYSXCQQDCMQJZZXHNPNXZMEKMXHYKYQLXSXTXJYYHWDCWDZHQYYBGYBCYSCFGPSJNZDYZZJZXRZRQJJYMCANYRJTLDPPYZBSTJKXXZYPFDWFGZZRPYMTNGXZQBYXNBUFNQKRJQZMJEGRZGYCLKXZDSKKNSXKCLJSPJYYZLQQJYBZSSQLLLKJXTBKTYLCCDDBLSPPFYLGYDTZJYQGGKQTTFZXBDKTYYHYBBFYTYYBCLPDYTGDHRYRNJSPTCSNYJQHKLLLZSLYDXXWBCJQSPXBPJZJCJDZFFXXBRMLAZHCSNDLBJDSZBLPRZTSWSBXBCLLXXLZDJZSJPYLYXXYFTFFFBHJJXGBYXJPMMMPSSJZJMTLYZJXSWXTYLEDQPJMYGQZJGDJLQJWJQLLSJGJGYGMSCLJJXDTYGJQJQJCJZCJGDZZSXQGSJGGCXHQXSNQLZZBXHSGZXCXYLJXYXYYDFQQJHJFXDHCTXJYRXYSQTJXYEFYYSSYYJXNCYZXFXMSYSZXYYSCHSHXZZZGZZZGFJDLTYLNPZGYJYZYYQZPBXQBDZTZCZYXXYHHSQXSHDHGQHJHGYWSZTMZMLHYXGEBTYLZKQWYTJZRCLEKYSTDBCYKQQSAYXCJXWWGSBHJYZYDHCSJKQCXSWXFLTYNYZPZCCZJQTZWJQDZZZQZLJJXLSBHPYXXPSXSHHEZTXFPTLQYZZXHYTXNCFZYYHXGNXMYWXTZSJPTHHGYMXMXQZXTSBCZYJYXXTYYZYPCQLMMSZMJZZLLZXGXZAAJZYXJMZXWDXZSXZDZXLEYJJZQBHZWZZZQTZPSXZTDSXJJJZNYAZPHXYYSRNQDTHZHYYKYJHDZXZLSWCLYBZYECWCYCRYLCXNHZYDZYDYJDFRJJHTRSQTXYXJRJHOJYNXELXSFSFJZGHPZSXZSZDZCQZBYYKLSGSJHCZSHDGQGXYZGXCHXZJWYQWGYHKSSEQZZNDZFKWYSSTCLZSTSYMCDHJXXYWEYXCZAYDMPXMDSXYBSQMJMZJMTZQLPJYQZCGQHXJHHLXXHLHDLDJQCLDWBSXFZZYYSCHTYTYYBHECXHYKGJPXHHYZJFXHWHBDZFYZBCAPNPGNYDMSXHMMMMAMYNBYJTMPXYYMCTHJBZYFCGTYHWPHFTWZZEZSBZEGPFMTSKFTYCMHFLLHGPZJXZJGZJYXZSBBQSCZZLZCCSTPGXMJSFTCCZJZDJXCYBZLFCJSYZFGSZLYBCWZZBYZDZYPSWYJZXZBDSYUXLZZBZFYGCZXBZHZFTPBGZGEJBSTGKDMFHYZZJHZLLZZGJQZLSFDJSSCBZGPDLFZFZSZYZYZSYGCXSNXXCHCZXTZZLJFZGQSQYXZJQDCCZTQCDXZJYQJQCHXZTDLGSCXZSYQJQTZWLQDQZTQCHQQJZYEZZZPBWKDJFCJPZTYPQYQTTYNLMBDKTJZPQZQZZFPZSBNJLGYJDXJDZZKZGQKXDLPZJTCJDQBXDJQJSTCKNXBXZMSLYJCQMTJQWWCJQNJNLLLHJCWQTBZQYDZCZPZZDZYDDCYZZZCCJTTJFZDPRRTZTJDCQTQZDTJNPLZBCLLCTZSXKJZQZPZLBZRBTJDCXFCZDBCCJJLTQQPLDCGZDBBZJCQDCJWYNLLZYZCCDWLLXWZLXRXNTQQCZXKQLSGDFQTDDGLRLAJJTKUYMKQLLTZYTDYYCZGJWYXDXFRSKSTQTENQMRKQZHHQKDLDAZFKYPBGGPZREBZZYKZZSPEGJXGYKQZZZSLYSYYYZWFQZYLZZLZHWCHKYPQGNPGBLPLRRJYXCCSYYHSFZFYBZYYTGZXYLXCZWXXZJZBLFFLGSKHYJZEYJHLPLLLLCZGXDRZELRHGKLZZYHZLYQSZZJZQLJZFLNBHGWLCZCFJYSPYXZLZLXGCCPZBLLCYBBBBUBBCBPCRNNZCZYRBFSRLDCGQYYQXYGMQZWTZYTYJXYFWTEHZZJYWLCCNTZYJJZDEDPZDZTSYQJHDYMBJNYJZLXTSSTPHNDJXXBYXQTZQDDTJTDYYTGWSCSZQFLSHLGLBCZPHDLYZJYCKWTYTYLBNYTSDSYCCTYSZYYEBHEXHQDTWNYGYCLXTSZYSTQMYGZAZCCSZZDSLZCLZRQXYYELJSBYMXSXZTEMBBLLYYLLYTDQYSHYMRQWKFKBFXNXSBYCHXBWJYHTQBPBSBWDZYLKGZSKYHXQZJXHXJXGNLJKZLYYCDXLFYFGHLJGJYBXQLYBXQPQGZTZPLNCYPXDJYQYDYMRBESJYYHKXXSTMXRCZZYWXYQYBMCLLYZHQYZWQXDBXBZWZMSLPDMYSKFMZKLZCYQYCZLQXFZZYDQZPZYGYJYZMZXDZFYFYTTQTZHGSPCZMLCCYTZXJCYTJMKSLPZHYSNZLLYTPZCTZZCKTXDHXXTQCYFKSMQCCYYAZHTJPCYLZLYJBJXTPNYLJYYNRXSYLMMNXJSMYBCSYSYLZYLXJJQYLDZLPQBFZZBLFNDXQKCZFYWHGQMRDSXYCYTXNQQJZYYPFZXDYZFPRXEJDGYQBXRCNFYYQPGHYJDYZXGRHTKYLNWDZNTSMPKLBTHBPYSZBZTJZSZZJTYYXZPHSSZZBZCZPTQFZMYFLYPYBBJQXZMXXDJMTSYSKKBJZXHJCKLPSMKYJZCXTMLJYXRZZQSLXXQPYZXMKYXXXJCLJPRMYYGADYSKQLSNDHYZKQXZYZTCGHZTLMLWZYBWSYCTBHJHJFCWZTXWYTKZLXQSHLYJZJXTMPLPYCGLTBZZTLZJCYJGDTCLKLPLLQPJMZPAPXYZLKKTKDZCZZBNZDYDYQZJYJGMCTXLTGXSZLMLHBGLKFWNWZHDXUHLFMKYSLGXDTWWFRJEJZTZHYDXYKSHWFZCQSHKTMQQHTZHYMJDJSKHXZJZBZZXYMPAGQMSTPXLSKLZYNWRTSQLSZBPSPSGZWYHTLKSSSWHZZLYYTNXJGMJSZSUFWNLSOZTXGXLSAMMLBWLDSZYLAKQCQCTMYCFJBSLXCLZZCLXXKSBZQCLHJPSQPLSXXCKSLNHPSFQQYTXYJZLQLDXZQJZDYYDJNZPTUZDSKJFSLJHYLZSQZLBTXYDGTQFDBYAZXDZHZJNHHQBYKNXJJQCZMLLJZKSPLDYCLBBLXKLELXJLBQYCXJXGCNLCQPLZLZYJTZLJGYZDZPLTQCSXFDMNYCXGBTJDCZNBGBQYQJWGKFHTNPYQZQGBKPBBYZMTJDYTBLSQMPSXTBNPDXKLEMYYCJYNZCTLDYKZZXDDXHQSHDGMZSJYCCTAYRZLPYLTLKXSLZCGGEXCLFXLKJRTLQJAQZNCMBYDKKCXGLCZJZXJHPTDJJMZQYKQSECQZDSHHADMLZFMMZBGNTJNNLGBYJBRBTMLBYJDZXLCJLPLDLPCQDHLXZLYCBLCXZZJADJLNZMMSSSMYBHBSQKBHRSXXJMXSDZNZPXLGBRHWGGFCXGMSKLLTSJYYCQLTSKYWYYHYWXBXQYWPYWYKQLSQPTNTKHQCWDQKTWPXXHCPTHTWUMSSYHBWCRWXHJMKMZNGWTMLKFGHKJYLSYYCXWHYECLQHKQHTTQKHFZLDXQWYZYYDESBPKYRZPJFYYZJCEQDZZDLATZBBFJLLCXDLMJSSXEGYGSJQXCWBXSSZPDYZCXDNYXPPZYDLYJCZPLTXLSXYZYRXCYYYDYLWWNZSAHJSYQYHGYWWAXTJZDAXYSRLTDPSSYYFNEJDXYZHLXLLLZQZSJNYQYQQXYJGHZGZCYJCHZLYCDSHWSHJZYJXCLLNXZJJYYXNFXMWFPYLCYLLABWDDHWDXJMCXZTZPMLQZHSFHZYNZTLLDYWLSLXHYMMYLMBWWKYXYADTXYLLDJPYBPWUXJMWMLLSAFDLLYFLBHHHBQQLTZJCQJLDJTFFKMMMBYTHYGDCQRDDWRQJXNBYSNWZDBYYTBJHPYBYTTJXAAHGQDQTMYSTQXKBTZPKJLZRBEQQSSMJJBDJOTGTBXPGBKTLHQXJJJCTHXQDWJLWRFWQGWSHCKRYSWGFTGYGBXSDWDWRFHWYTJJXXXJYZYSLPYYYPAYXHYDQKXSHXYXGSKQHYWFDDDPPLCJLQQEEWXKSYYKDYPLTJTHKJLTCYYHHJTTPLTZZCDLTHQKZXQYSTEEYWYYZYXXYYSTTJKLLPZMCYHQGXYHSRMBXPLLNQYDQHXSXXWGDQBSHYLLPJJJTHYJKYPPTHYYKTYEZYENMDSHLCRPQFDGFXZPSFTLJXXJBSWYYSKSFLXLPPLBBBLBSFXFYZBSJSSYLPBBFFFFSSCJDSTZSXZRYYSYFFSYZYZBJTBCTSBSDHRTJJBYTCXYJEYLXCBNEBJDSYXYKGSJZBXBYTFZWGENYHHTHZHHXFWGCSTBGXKLSXYWMTMBYXJSTZSCDYQRCYTWXZFHMYMCXLZNSDJTTTXRYCFYJSBSDYERXJLJXBBDEYNJGHXGCKGSCYMBLXJMSZNSKGXFBNBPTHFJAAFXYXFPXMYPQDTZCXZZPXRSYWZDLYBBKTYQPQJPZYPZJZNJPZJLZZFYSBTTSLMPTZRTDXQSJEHBZYLZDHLJSQMLHTXTJECXSLZZSPKTLZKQQYFSYGYWPCPQFHQHYTQXZKRSGTTSQCZLPTXCDYYZXSQZSLXLZMYCPCQBZYXHBSXLZDLTCDXTYLZJYYZPZYZLTXJSJXHLPMYTXCQRBLZSSFJZZTNJYTXMYJHLHPPLCYXQJQQKZZSCPZKSWALQSBLCCZJSXGWWWYGYKTJBBZTDKHXHKGTGPBKQYSLPXPJCKBMLLXDZSTBKLGGQKQLSBKKTFXRMDKBFTPZFRTBBRFERQGXYJPZSSTLBZTPSZQZSJDHLJQLZBPMSMMSXLQQNHKNBLRDDNXXDHDDJCYYGYLXGZLXSYGMQQGKHBPMXYXLYTQWLWGCPBMQXCYZYDRJBHTDJYHQSHTMJSBYPLWHLZFFNYPMHXXHPLTBQPFBJWQDBYGPNZTPFZJGSDDTQSHZEAWZZYLLTYYBWJKXXGHLFKXDJTMSZSQYNZGGSWQSPHTLSSKMCLZXYSZQZXNCJDQGZDLFNYKLJCJLLZLMZZNHYDSSHTHZZLZZBBHQZWWYCRZHLYQQJBEYFXXXWHSRXWQHWPSLMSSKZTTYGYQQWRSLALHMJTQJSMXQBJJZJXZYZKXBYQXBJXSHZTSFJLXMXZXFGHKZSZGGYLCLSARJYHSLLLMZXELGLXYDJYTLFBHBPNLYZFBBHPTGJKWETZHKJJXZXXGLLJLSTGSHJJYQLQZFKCGNNDJSSZFDBCTWWSEQFHQJBSAQTGYPQLBXBMMYWXGSLZHGLZGQYFLZBYFZJFRYSFMBYZHQGFWZSYFYJJPHZBYYZFFWODGRLMFTWLBZGYCQXCDJYGZYYYYTYTYDWEGAZYHXJLZYYHLRMGRXXZCLHNELJJTJTPWJYBJJBXJJTJTEEKHWSLJPLPSFYZPQQBDLQJJTYYQLYZKDKSQJYYQZLDQTGJQYZJSUCMRYQTHTEJMFCTYHYPKMHYZWJDQFHYYXWSHCTXRLJHQXHCCYYYJLTKTTYTMXGTCJTZAYYOCZLYLBSZYWJYTSJYHBYSHFJLYGJXXTMZYYLTXXYPZLXYJZYZYYPNHMYMDYYLBLHLSYYQQLLNJJYMSOYQBZGDLYXYLCQYXTSZEGXHZGLHWBLJHEYXTWQMAKBPQCGYSHHEGQCMWYYWLJYJHYYZLLJJYLHZYHMGSLJLJXCJJYCLYCJPCPZJZJMMYLCQLNQLJQJSXYJMLSZLJQLYCMMHCFMMFPQQMFYLQMCFFQMMMMHMZNFHHJGTTHHKHSLNCHHYQDXTMMQDCYZYXYQMYQYLTDCYYYZAZZCYMZYDLZFFFMMYCQZWZZMABTBYZTDMNZZGGDFTYPCGQYTTSSFFWFDTZQSSYSTWXJHXYTSXXYLBYQHWWKXHZXWZNNZZJZJJQJCCCHYYXBZXZCYZTLLCQXYNJYCYYCYNZZQYYYEWYCZDCJYCCHYJLBTZYYCQWMPWPYMLGKDLDLGKQQBGYCHJXY";
    //count:375 multi diff
    var oMultiDiff = { "19969": "DZ", "19975": "WM", "19988": "QJ", "20048": "YL", "20056": "SC", "20060": "NM", "20094": "QG", "20127": "QJ", "20167": "QC", "20193": "YG", "20250": "KH", "20256": "ZC", "20282": "SC", "20285": "QJG", "20291": "TD", "20314": "YD", "20340": "NE", "20375": "TD", "20389": "YJ", "20391": "CZ", "20415": "PB", "20446": "YS", "20447": "SQ", "20504": "TC", "20608": "KG", "20854": "QJ", "20857": "ZC", "20911": "PF", "20504": "TC", "20608": "KG", "20854": "QJ", "20857": "ZC", "20911": "PF", "20985": "AW", "21032": "PB", "21048": "XQ", "21049": "SC", "21089": "YS", "21119": "JC", "21242": "SB", "21273": "SC", "21305": "YP", "21306": "QO", "21330": "ZC", "21333": "SDC", "21345": "QK", "21378": "CA", "21397": "SC", "21414": "XS", "21442": "SC", "21477": "JG", "21480": "TD", "21484": "ZS", "21494": "YX", "21505": "YX", "21512": "HG", "21523": "XH", "21537": "PB", "21542": "PF", "21549": "KH", "21571": "E", "21574": "DA", "21588": "TD", "21589": "O", "21618": "ZC", "21621": "KHA", "21632": "ZJ", "21654": "KG", "21679": "LKG", "21683": "KH", "21710": "A", "21719": "YH", "21734": "WOE", "21769": "A", "21780": "WN", "21804": "XH", "21834": "A", "21899": "ZD", "21903": "RN", "21908": "WO", "21939": "ZC", "21956": "SA", "21964": "YA", "21970": "TD", "22003": "A", "22031": "JG", "22040": "XS", "22060": "ZC", "22066": "ZC", "22079": "MH", "22129": "XJ", "22179": "XA", "22237": "NJ", "22244": "TD", "22280": "JQ", "22300": "YH", "22313": "XW", "22331": "YQ", "22343": "YJ", "22351": "PH", "22395": "DC", "22412": "TD", "22484": "PB", "22500": "PB", "22534": "ZD", "22549": "DH", "22561": "PB", "22612": "TD", "22771": "KQ", "22831": "HB", "22841": "JG", "22855": "QJ", "22865": "XQ", "23013": "ML", "23081": "WM", "23487": "SX", "23558": "QJ", "23561": "YW", "23586": "YW", "23614": "YW", "23615": "SN", "23631": "PB", "23646": "ZS", "23663": "ZT", "23673": "YG", "23762": "TD", "23769": "ZS", "23780": "QJ", "23884": "QK", "24055": "XH", "24113": "DC", "24162": "ZC", "24191": "GA", "24273": "QJ", "24324": "NL", "24377": "TD", "24378": "QJ", "24439": "PF", "24554": "ZS", "24683": "TD", "24694": "WE", "24733": "LK", "24925": "TN", "25094": "ZG", "25100": "XQ", "25103": "XH", "25153": "PB", "25170": "PB", "25179": "KG", "25203": "PB", "25240": "ZS", "25282": "FB", "25303": "NA", "25324": "KG", "25341": "ZY", "25373": "WZ", "25375": "XJ", "25384": "A", "25457": "A", "25528": "SD", "25530": "SC", "25552": "TD", "25774": "ZC", "25874": "ZC", "26044": "YW", "26080": "WM", "26292": "PB", "26333": "PB", "26355": "ZY", "26366": "CZ", "26397": "ZC", "26399": "QJ", "26415": "ZS", "26451": "SB", "26526": "ZC", "26552": "JG", "26561": "TD", "26588": "JG", "26597": "CZ", "26629": "ZS", "26638": "YL", "26646": "XQ", "26653": "KG", "26657": "XJ", "26727": "HG", "26894": "ZC", "26937": "ZS", "26946": "ZC", "26999": "KJ", "27099": "KJ", "27449": "YQ", "27481": "XS", "27542": "ZS", "27663": "ZS", "27748": "TS", "27784": "SC", "27788": "ZD", "27795": "TD", "27812": "O", "27850": "PB", "27852": "MB", "27895": "SL", "27898": "PL", "27973": "QJ", "27981": "KH", "27986": "HX", "27994": "XJ", "28044": "YC", "28065": "WG", "28177": "SM", "28267": "QJ", "28291": "KH", "28337": "ZQ", "28463": "TL", "28548": "DC", "28601": "TD", "28689": "PB", "28805": "JG", "28820": "QG", "28846": "PB", "28952": "TD", "28975": "ZC", "29100": "A", "29325": "QJ", "29575": "SL", "29602": "FB", "30010": "TD", "30044": "CX", "30058": "PF", "30091": "YSP", "30111": "YN", "30229": "XJ", "30427": "SC", "30465": "SX", "30631": "YQ", "30655": "QJ", "30684": "QJG", "30707": "SD", "30729": "XH", "30796": "LG", "30917": "PB", "31074": "NM", "31085": "JZ", "31109": "SC", "31181": "ZC", "31192": "MLB", "31293": "JQ", "31400": "YX", "31584": "YJ", "31896": "ZN", "31909": "ZY", "31995": "XJ", "32321": "PF", "32327": "ZY", "32418": "HG", "32420": "XQ", "32421": "HG", "32438": "LG", "32473": "GJ", "32488": "TD", "32521": "QJ", "32527": "PB", "32562": "ZSQ", "32564": "JZ", "32735": "ZD", "32793": "PB", "33071": "PF", "33098": "XL", "33100": "YA", "33152": "PB", "33261": "CX", "33324": "BP", "33333": "TD", "33406": "YA", "33426": "WM", "33432": "PB", "33445": "JG", "33486": "ZN", "33493": "TS", "33507": "QJ", "33540": "QJ", "33544": "ZC", "33564": "XQ", "33617": "YT", "33632": "QJ", "33636": "XH", "33637": "YX", "33694": "WG", "33705": "PF", "33728": "YW", "33882": "SR", "34067": "WM", "34074": "YW", "34121": "QJ", "34255": "ZC", "34259": "XL", "34425": "JH", "34430": "XH", "34485": "KH", "34503": "YS", "34532": "HG", "34552": "XS", "34558": "YE", "34593": "ZL", "34660": "YQ", "34892": "XH", "34928": "SC", "34999": "QJ", "35048": "PB", "35059": "SC", "35098": "ZC", "35203": "TQ", "35265": "JX", "35299": "JX", "35782": "SZ", "35828": "YS", "35830": "E", "35843": "TD", "35895": "YG", "35977": "MH", "36158": "JG", "36228": "QJ", "36426": "XQ", "36466": "DC", "36710": "JC", "36711": "ZYG", "36767": "PB", "36866": "SK", "36951": "YW", "37034": "YX", "37063": "XH", "37218": "ZC", "37325": "ZC", "38063": "PB", "38079": "TD", "38085": "QY", "38107": "DC", "38116": "TD", "38123": "YD", "38224": "HG", "38241": "XTC", "38271": "ZC", "38415": "YE", "38426": "KH", "38461": "YD", "38463": "AE", "38466": "PB", "38477": "XJ", "38518": "YT", "38551": "WK", "38585": "ZC", "38704": "XS", "38739": "LJ", "38761": "GJ", "38808": "SQ", "39048": "JG", "39049": "XJ", "39052": "HG", "39076": "CZ", "39271": "XT", "39534": "TD", "39552": "TD", "39584": "PB", "39647": "SB", "39730": "LG", "39748": "TPB", "40109": "ZQ", "40479": "ND", "40516": "HG", "40536": "HG", "40583": "QJ", "40765": "YQ", "40784": "QJ", "40840": "YK", "40863": "QJG" };

    $.scombo = function(element, opts) {
        //Add by yewf 2010-3-25,用于显示div时，隐藏select控件
        this.selectList = new Array();
        //end

        this.version = "0.8";
        this.settings = $.extend({}, $.scombo.defaults, opts);
        this.target = element;
        this.prepareData();
        this.init();

        //add by yewf 2010-05-07 返回某个item的value与text
        this.items = function(index) {
            var items = this.$results.find('.list-result').children("li");
            var s = "";
            $.each(items, function(index, item) {
                if (s == "")
                    s = "{ value : \"" + $(item).attr('id') + "\", text: \"" + $(item).text() + "\" }";
                else
                    s += "," + "{ value: \"" + $(item).attr('id') + "\", text: \"" + $(item).text() + "\" }";
            });

            return eval("[" + s + "]")[index];
        };
        this.text = function(txt) {
            if (arguments.length) {
                $(this.target).val(txt);
                this.styleItemBy(txt, 'text');
                this.dataCheck();
            }
            return $(this.target).val();
        };
        this.val = function(value) {
            if (arguments.length) {
                $(this.$value).val(value);
                this.styleItemBy(value, 'value');
                this.dataCheck();
            }
            return this.$value.val();
        };
        this.set = function(key, txt) {
            $(this.target).val(txt);
            this.$value.val(key);
            this.styleItemBy(txt, 'text');
            return this;
        };
        this.reset = function() {
            $(this.target).removeClass().addClass('field');
            this.$dropWrap.removeClass().addClass('dropwrap');
            $(this.target).val(this.settings.emptyText);
            this.$value.val(this.settings.emptyValue);
            this.styleItemBy(this.settings.emptyText, 'text');
        };
        this.dataSource = function(source) {
            if (!source) {
                alert('数据源不可为空');
                return;
            }
            this.settings.source = source;
            this.prepareData();
        };
        this.disableSelect = function(disable) {
            if (disable) {
                $("#" + this.target.id).attr("disabled", "disabled");
                this.$dropWrap.attr("disabled", "disabled");

                //add by yewf 2010-04-18 当为firfox浏览器时,无法禁用图片的disabled属性.这里显示一个假图,下拉三角隐藏
                if (!$.browser.msie) {
                    var top = this.$dropWrap.css("top");
                    var left = this.$dropWrap.css("left");
                    var tempElement = $("<div id='tempdiv_" + this.target.id + "'></div>").addClass("dropwrap").css({ "display": "inline-block", "top": top, "left": left });
                    tempElement.insertAfter(this.$dropWrap);

                    this.$dropWrap.hide();
                }
            } else {
                $("#" + this.target.id).attr("disabled", "");
                this.$dropWrap.attr("disabled", "");

                //add by yewf 2010-04-18 当为firfox浏览器时,无法禁用图片的disabled属性.显示下拉三角
                if (!$.browser.msie) {
                    var tempElement = $("#tempdiv_" + this.target.id);
                    tempElement && tempElement.remove() && this.$dropWrap.show();
                }
            }
        }
    };

    $.extend($.scombo, {
        defaults: {
            mode: 'list', //'custom'
            source: null,
            urldata: null,
            group: false,
            enableInput: false,
            inputCheck: false,
            emptyText: '请选择...',
            emptyValue: '',
            width: 121,
            fixWidth: false,
            height: null,
            selfAdaptingNum: 10,
            enableOperation: false,
            speed: 'fast',
            operationName: '新建',
            operationHandler: function(e) { },
            multiSelect: false,
            delimiter: ',',
            disable: false,
            enableGroupSelect: false,
            zIndex: 99999,
            onlyOneSelected: false,
            filterConfig: {}, //{delay:400,minChars:0,matchCase:false,selectFirst:true,autoFill:false},
            onSelected: function(e) { },
            onComplete: null
        },
        setDefaults: function(settings) {
            $.extend($.scombo.defaults, settings);
        },
        prototype: {
            prepareData: function() {
                var me = this;
                if (!me.settings.source) {
                    alert('数据源不可为空');
                    return;
                }
                else if (me.settings.mode == 'list' && (typeof me.settings.source == 'string') && me.settings.source.length) {
                    $.ajax({
                        beforeSend: function(xmlRequest) {
                            //alert('before');
                        },
                        url: me.settings.source,
                        async: false,
                        type: 'GET',
                        data: me.settings.urldata,
                        dataType: 'json',
                        cache: false,
                        complete: function(xmlRequest, textStatus) {
                            //alert('complete ' + textStatus);
                            me.settings.onComplete && me.settings.onComplete();
                        },
                        error: function(xmlRequest, textStatus, errorThrown) {
                            alert('指定的URL地址不可用，或者网络错误');
                        },
                        success: function(data, textStatus) {
                            me.settings.source = data;
                            me.settings.count = data.length;
                        }
                    });
                }
                else {
                    me.settings.count = me.settings.source.length;
                }
            },
            init: function() {
                var me = this;

                if (me.settings.multiSelect && me.settings.enableInput) {
                    alert('暂不支持可输入与多选同时开启');
                    return;
                }

                me.$target = $(me.target).attr("autocomplete", "off");
                me.$wrap = $(document.createElement("div"));
                me.$dropWrap = $(document.createElement("div")).html('&nbsp;').addClass('dropwrap');
                me.$value = $(document.createElement('input')).attr('type', 'hidden').attr('id', 'scombo$val' + me.target.id).attr('name', 'scombo$val');
                me.$results = $(document.createElement("div")).attr("id", "listarea" + me.target.id).addClass('resultarea');


                var $target = me.$target;
                var $wrap = me.$wrap;
                var $dropWrap = me.$dropWrap;
                var $value = me.$value;
                var $results = me.$results;

                $target.removeAttr('class').removeAttr('style').addClass('field').css({ 'width': me.settings.width + 'px' });

                me.minWidth = $target.width() + 17 + 10; //17为下拉箭头宽度，10为边框和padding值的和
                $wrap.addClass('wrap').css({ 'width': me.minWidth + 'px', 'z-index': me.settings.zIndex });

                // addby 2010-09-17 当为ie7时，设置为auto。否则不能自适应内容
                if ($.browser.version === '7.0' && me.settings.mode === 'custom') {
                    $wrap.css("width", "auto");
                }

                var droptop = 0;
                if ($.browser.msie) {
                    if ($.browser.version == '6.0' || $.browser.version == '7.0') {
                        droptop = 1;
                    }
                }
                $dropWrap.css({ 'top': droptop + 'px', 'left': ($target.width() + 10) + 'px' });

                $target.wrap($wrap);
                $dropWrap.insertAfter($target);
                $results.insertAfter($dropWrap);
                $value.insertAfter($results);

                //me.$bgiframe = $("<div style=\"display:none;position:absolute;top:" + ($target.height() + 4) + "px;left:0px;\"><iframe id=\"bgiframe\" src = \"javascript:''\" frameborder=\"0\" scrolling='no' style=\"display:none;position:absolute;top:" + ($target.height() + 4) + "px;left:0px;\"></iframe></div>");


                //var $bgiframe = me.$bgiframe;
                //$bgiframe.insertAfter($value);

                me.resetPosition();

                // $dropWrap.attr("id", "sc" + me.target.id);

                $dropWrap.hover(function() {
                    $(this).addClass('dropwrap-over');
                },
				function() {
				    $(this).removeClass('dropwrap-over');
				}).mousedown(function(event) {
				    if (event.which == 1 || event.which == 3 || event.which == 5 || event.which == 7) {
				        $(this).removeClass('dropwrap-focus').removeClass('dropwrap-over').addClass('dropwrap-click');
				    }
				    event.stopPropagation();
				}).mouseup(function(event) {
				    $(this).removeClass('dropwrap-click');
				    if (me.settings.enableInput) {
				        //$target.select().focus();//yewf 2010-3-25
				        me.targetFocus();
				        me.displayResults();
				    }
				    else {
				        me.displayResults();
				    }

				    event.stopPropagation();
				});

                function filter() {
                    var filterCfg = me.settings.filterConfig;
                    var currentValue = $.trim($(me.target).val());
                    var resultArea = me.$results.find('.list-result');
                    if (!currentValue) {
                        resultArea.children('li').show();
                    }
                    else {
                        currentValue = currentValue.toUpperCase();
                        if (currentValue.length >= filterCfg.minChars) {
                            if (!filterCfg.matchCase) {
                                currentValue = currentValue.toUpperCase();
                            }

                            if (me.settings.group) {
                                resultArea.children("li[category='scombogrpname']").hide();
                            }

                            var itemList = resultArea.children("li[category='scombolistitem']");
                            var firstItem;
                            $.each(itemList, function(index, item) {
                                var itemTxt = $(item).text().toUpperCase();
                                var spellInitial = $.scombo.getChineseInitial(itemTxt).join(',');
                                var matchText = itemTxt.indexOf(currentValue);
                                var matchInitial = spellInitial.indexOf(currentValue);

                                if (matchText == -1 && matchInitial == -1) {
                                    $(item).removeClass('select');
                                    $(item).hide();
                                }
                                else {
                                    if (!firstItem) {
                                        firstItem = $(item);

                                        if (filterCfg.autoFill) {
                                            me.set(firstItem.attr('id'), firstItem.text());
                                        }

                                        if (filterCfg.selectFirst) {
                                            //add by yewf 2010-04-17 
                                            //在已选择一个的情况下，再次索引时，不能聚焦第一个，否则按回车会出现会选择两个到文本框中
                                            var activeItem = me.$results.find('.select');
                                            activeItem && activeItem.removeClass('select');

                                            firstItem.addClass('select');
                                        }
                                    }
                                    $(item).show();
                                }
                            });
                        }
                    }
                }

                var timer;

                $target.focus(function(event) {
                    if (!$value.val()) {
                        if ($(this).val() == me.settings.emptyText) {
                            $(this).val('');
                        }
                    }
                    //Add by yewf 2010-3-24
                    //以下几行均注释，在下面增加keypress事件，下面代码转移到processKey()事件中
                    //                    $(this).val('');
                    me.targetFocus();
                    me.displayResults();

                    //                    if (me.settings.filterConfig) {
                    //                        timer = setTimeout(function() {
                    //                            if (me.settings.mode == 'list' && me.settings.enableInput) {
                    //                                filter();
                    //                            }
                    //                        }, me.settings.filterConfig.delay);
                    //                    }

                    event.stopPropagation();
                }).blur(function() {
                    //clearInterval(timer);
                    clearTimeout(timer);
                    me.dataCheck();
                    me.styleItemBy($(this).val(), 'text');
                    //add by yewf 2010-04-16 这里解决当用户输入信息，但没有在列表中选择时，用tab跳到下一个文件框时无法触发事件的问题。
                    if (!me.settings.multiSelect) {
                        if (me.settings.onSelected) {
                            me.settings.onSelected(me);
                        }
                    }
                });

                if (!me.settings.enableInput) {
                    $target.attr("disabled", "disabled");
                }

                if (me.settings.enableOperation) {
                    var newPanel = $(document.createElement('div')).addClass('newpanel');
                    //newPanel.css({ 'width': ($results.width() - 2) + 'px' });
                    var btnwrap = $(document.createElement('div')).addClass('btnwrap');
                    btnwrap.hover(function() {
                        $(this).addClass('btnwrap-over');
                    },
					function() {
					    $(this).removeClass('btnwrap-over');
					}).mousedown(function() {
					    $(this).addClass('btnwrap-click');
					}).mouseup(function() {
					    $(this).removeClass('btnwrap-click');
					});
                    var newbtn = $(document.createElement('div'))
									.html(me.settings.operationName)
									.addClass('operbtn');
                    newbtn.click(function() {
                        if (me.settings.operationHandler) {
                            me.settings.operationHandler(me);
                        }
                    });
                    newbtn.appendTo(btnwrap);
                    btnwrap.appendTo(newPanel);
                    newPanel.appendTo("#listarea" + me.target.id);

                    me.$toolbar = newPanel;
                    me.$operation = newbtn;
                }

                me.generateResultArea();

                //begin
                //yewf 2010-4-2 改在generateResultArea函数中执行，处理在ajax联动其它select时，内容过多无法加滚动条的问题。
                //                if (me.settings.height) {
                //                    $results.css({ 'height': me.settings.height + 'px' });
                //                }
                //                else if (me.settings.mode == 'list') {
                //                    var resultHeight;
                //                    var sumCount;
                //                    if (me.settings.group) {
                //                        var grpCount = me.count();
                //                        sumCount = grpCount;
                //                        for (var i = 0; i < grpCount; i++) {
                //                            sumCount += me.countOfGroup(i);
                //                        }
                //                    }
                //                    else {
                //                        sumCount = me.count();
                //                    }

                //                    if (sumCount > me.settings.selfAdaptingNum) {
                //                        var lineHeight = parseInt(me.$results.find('.list-result').children(':first-child').css('line-height'));
                //                        resultHeight = me.settings.selfAdaptingNum * (lineHeight + 4);
                //                        if (me.settings.enableOperation) {
                //                            var newPanelHeight = parseInt(me.$results.find('.newpanel').css('height')) + 2;
                //                            resultHeight += newPanelHeight;
                //                        }
                //                    }
                //                    if (resultHeight) {
                //                        $results.css({ 'height': resultHeight + 'px' });
                //           
                //                }
                //end

                // me.$bgiframe.css({'width':me.$results.width() + 'px','height':me.$results.height() + 'px'});

                $(document).click(function(e) {
                    //alert('f');
                    var obj = e.target;
                    var op = false;

                    var multiClick = false;
                    if (me.settings.multiSelect) {
                        if ($(obj).hasClass('check') || $(obj).attr('category') == 'scombolistitem' ||
							$(obj).attr('category') == 'scombogrpname') {
                            multiClick = true;
                        }
                    }
                    //alert(multiClick);

                    if (me.settings.enableOperation) {
                        if (obj != me.$toolbar.get(0) && obj != me.$operation.get(0)
							&& obj != $dropWrap.get(0) && obj != $target.get(0)) {
                            if (me.settings.multiSelect) {
                                if (!multiClick) {
                                    op = true;
                                }
                            }
                            else {
                                if ($(obj).attr('category') != 'scombogrpname') {
                                    op = true;
                                }
                            }
                        }
                    }
                    else {
                        if (obj != $dropWrap.get(0) && obj != $target.get(0)) {
                            if (me.settings.multiSelect) {
                                if (!multiClick) {
                                    op = true;
                                }
                            }
                            else {
                                if ($(obj).attr('category') != 'scombogrpname') {
                                    op = true;
                                }
                            }
                        }
                    }

                    if (op) {
                        me.hideResults();
                        //me.styleSel();//避免验证时不能给控件增加其它样式类
                    }
                });

                var KEY = {
                    UP: 38,
                    DOWN: 40,
                    LEFT: 37,
                    RIGHT: 39,
                    DEL: 46,
                    TAB: 9,
                    RETURN: 13,
                    ESC: 27,
                    COMMA: 188, //逗号
                    PAGEUP: 33,
                    PAGEDOWN: 34,
                    BACKSPACE: 8
                };

                function processKey(e) {
                    if ((/27$|38$|40$/.test(e.keyCode) && $results.is(':visible')) ||
						(/^13$|^9$/.test(e.keyCode) && me.getCurrentResult()) ||
						(e.keyCode == 40 && $results.is(':hidden'))) {
                        if (e.preventDefault) {
                            e.preventDefault();
                        }
                        if (e.stopPropagation) {
                            e.stopPropagation();
                        }

                        e.cancelBubble = true;
                        e.returnValue = false;

                        switch (e.keyCode) {
                            case KEY.UP:
                                me.prevResult();
                                break;
                            case KEY.DOWN:
                                if ($results.is(':visible')) {
                                    me.nextResult();
                                }
                                else {
                                    me.styleItemBy($(this).val(), 'text'); //add by yewf 2010-3-26 这里增加在回车选中时，显示选中状态
                                    me.displayResults();
                                }
                                break;
                            case KEY.TAB:
                                me.hideResults();
                                break;
                            case KEY.RETURN:
                                me.selectCurrentResult();
                                //added by hong 2010-03-17
                                if (!me.settings.multiSelect) {
                                    if (me.settings.onSelected) {
                                        me.settings.onSelected(me);
                                    }
                                }
                                //end
                                break;
                            case KEY.ESC:
                                me.hideResults();
                                break;
                        }
                    }
                    else {
                        //add by yewf 2010-3-26
                        //如果是backspace和delete键，则判断当前是否已显示div。因为没有显示DIV，则不能索引
                        if (!$results.is(':visible') && /46$|8$/.test(e.keyCode)) {
                            me.displayResults();
                        }
                        //Add by yewf 2010-3-24，解决focus聚焦时，控件验证问题及再次聚焦时，过滤问题
                        //Add by yewf 2010-3-26，增加左右键判断
                        if (me.settings.filterConfig && !/37$|39$/.test(e.keyCode)) {
                            timer = setTimeout(function() {
                                if (me.settings.mode == 'list' && me.settings.enableInput) {
                                    filter();
                                }
                            }, me.settings.filterConfig.delay);
                        }

                        e.stopPropagation();

                        me.resetValue();
                    }
                }

                if (!me.settings.multiSelect) {
                    if ($.browser.mozilla) {
                        $target.keypress(processKey);
                        $dropWrap.keypress(processKey);

                        //$target.bind('input',searchtip);
                    }
                    else {
                        $target.keydown(processKey);
                        $dropWrap.keydown(processKey);

                        //$target.bind('propertychange',searchtip);
                    }
                }



                me.resetText();
                me.resetValue();

                // addby 2010-09-17 当为list且只有一个item时，默认选中它。
                // 第一项key为空格或&nbsp;字符时，就会选中第二项。但不判断第二项是否为空格
                // 只有一项且为key为空格时，不选中。
                if (me.settings.onlyOneSelected && me.settings.mode === 'list') {
                    var lis = this.$results.find('.list-result').children("li");
                    var si;
                    if (lis.length == 1) {
                        si = this.$results.find('.list-result').children("li:eq(0)");
                        if ($.trim(si.attr("id")) == "") {
                            si = false;
                        }
                    }
                    else if (lis.length == 2) {
                        var firstItem = this.$results.find('.list-result').children("li:eq(0)");
                        var secondItem = this.$results.find('.list-result').children("li:eq(1)");

                        if ($.trim(firstItem.attr("id")) == "") {
                            si = secondItem;
                        }
                        else {
                            si = false;
                        }
                    }

                    if (si) {
                        me.setItemSelected(si);
                        $target.val(si.text());
                        $value.val(si.attr("id"));

                        me.settings.onSelected && me.settings.onSelected(me);
                    }
                }
            },
            clearAll: function() {
                var me = this;
                var resultArea = me.$results.find('ul');
                resultArea.remove();
            },
            dataBind: function() {
                var me = this;
                var resultArea = me.$results.find('.list-result');

                if (!resultArea.length) {
                    if (me.target) {
                        me.init();
                    }
                }
                else {
                    if (me.settings.source) {
                        me.clearAll();
                        me.generateResultArea();
                        var curTxt = $(me.target).val();
                        var curVal = me.$value.val();
                        if (curTxt) {
                            me.styleItemBy(curTxt, 'text');
                        }
                        else if (curVal) {
                            me.styleItemBy(curVal, 'value');
                        }
                    }
                }
            },
            count: function() {
                return this.settings.count;
            },
            countOfGroup: function(grpIndex) {
                if (this.settings.group) {
                    try {
                        return this.grpItemListCounts[grpIndex];
                    }
                    catch (e) {
                        alert('插件初始化未完成');
                    }
                    //return this.settings.source[grpIndex].grplist.length;
                }
                return 0;
            },
            resetPosition: function() {
                this.$results.css({
                    top: ($(this.target).height() + 2 + 2) + 'px',
                    left: '0px'
                });
            },
            targetFocus: function() {
                $(this.target).removeClass().addClass('field').addClass('field-focus');
                this.$dropWrap.addClass('dropwrap-focus');
            },
            styleSel: function() {
                if (this.$value.val()) {
                    if (this.settings.enableInput) {
                        this.targetFocus();
                    }
                }
                else {
                    if ((!$(this.target).val()) || $(this.target).val() == this.settings.emptyText) {
                        //add by yewf 2010-04-20 判断当前是否有验证class，有的话，则不增加自定义calss
                        //这里仍然有一个bug，在选择有值item后，再选择一个空，则会出现无法验证的情况
                        if (!$(this.target).hasClass('error')) {
                            $(this.target).removeClass().addClass('field'); // old code
                        }
                        this.$dropWrap.removeClass().addClass('dropwrap');
                        this.resetText();
                    }
                }
            },
            resetText: function() {
                $(this.target).val(this.settings.emptyText);
            },
            resetValue: function() {
                this.$value.val(this.settings.emptyValue);
            },
            generateResultArea: function() {
                var me = this;
                if (me.settings.mode === 'list') {
                    var list = $(document.createElement("ul"));
                    list.addClass('list-result').appendTo("#listarea" + me.target.id);
                    var html = '';
                    if (me.settings.group) {
                        me.grpItemListCounts = new Array();
                        $.each(me.settings.source, function(index, json) {
                            var groupName = "&nbsp;";
                            if (json.grpname) {
                                groupName = json.grpname;
                            }
                            html += me.addLi(0, index, 'scombogrpname', 'grpname', groupName, me.settings.multiSelect && me.settings.enableGroupSelect);
                            html += me.generateItemList(json.grplist, true);
                            me.grpItemListCounts.push(json.grplist.length);
                        });
                    }
                    else {
                        html += me.generateItemList(me.settings.source, false);
                    }

                    list.html(html);
                    me.itemEventHandler(list.children('li'));
                    $.each(list.find('div.check'), function(i, item) {
                        $(item).click(function(event) {
                            //alert('laudy');
                        });
                    });
                }
                else if (me.settings.mode == 'custom') {
                    var droparea = null;
                    if (typeof me.settings.source == 'string') {
                        if (me.settings.source.substr(0, 1) == '#') {
                            droparea = $(me.settings.source);
                        }
                        else {
                            droparea = $('#' + me.settings.source);
                        }
                    }
                    else {
                        droparea = me.settings.source;
                    }
                    if (droparea) {
                        droparea.css({ 'border': 'none', 'display': '', 'padding': '2px' });
                        droparea.bind("click", function(event) {
                            event.stopPropagation();
                            //event.preventDefault();
                        });
                        droparea.appendTo(me.$results);
                    }
                    else {
                        alert('请检查您所指定的mode及source参数是否正确');
                    }
                }

                if (me.settings.fixWidth || me.$results.width() + 2 <= me.minWidth) {
                    me.$results.css({ 'width': (me.minWidth - 2) + 'px' });
                }

                //add by yewf 2010-4-2 设置列表高度，以增加滚动条。
                me.setSelectListHeight();
            },
            generateItemList: function(itemlist, indent) {
                var me = this;
                var html = '';
                $.each(itemlist, function(index, itemdata) {
                    var liClass = (index % 2 == 1) ? 'odd' : 'even';
                    if (indent) {
                        liClass += " " + "indent";
                    }
                    var itemText = "&nbsp;";
                    if (itemdata.txt) {
                        //if (itemdata.txt == '@')
                        //    itemText = ' ';
                        //else
                        itemText = itemdata.txt;
                    }
                    html += me.addLi(itemdata.key, index, 'scombolistitem', liClass, itemText, me.settings.multiSelect);
                });

                return html;
            },
            displayResults: function() {
                var me = this;

                if (me.settings.mode == 'list') {
                    $.each(me.$results.find('.list-result').children('li'), function(i, item) {
                        $(item).show();
                    });
                }

                me.$results.show(me.settings.speed, function() {
                    var resWidth = me.$results.width();
                    $(this).css({
                        'width': resWidth + 'px'
                    });

                    if ($.browser.version == '6.0') {
                        //Add by yewf 2010-3-25 仅在IE6中使用
                        me.hideSelect(me.$results.attr('id'));
                    }
                });
            },
            //add by yewf 2010-4-2 设置列表高度，在内容多的时候增加滚动条。
            setSelectListHeight: function() {
                var me = this;

                if (me.settings.height) {
                    me.$results.css({ 'height': me.settings.height + 'px' });
                }
                else if (me.settings.mode == 'list') {
                    var resultHeight;
                    var sumCount;
                    if (me.settings.group) {
                        var grpCount = me.count();
                        sumCount = grpCount;
                        for (var i = 0; i < grpCount; i++) {
                            sumCount += me.countOfGroup(i);
                        }
                    }
                    else {
                        sumCount = me.count();
                    }

                    var parentBodyHeight = parseInt($(window.document.body).height());
                    var lineHeight = parseInt(me.$results.find('.list-result').children(':first-child').css('line-height'));
                    var allItemHeight = lineHeight * sumCount + lineHeight;

                    //如果列表的高度超过了父窗口的高度，则设置一个实际高度
                    //如果item过多，也会超过parent的height高度，高度大于250，则使用自适应高度。
                    if (allItemHeight >= parentBodyHeight && parentBodyHeight < 250) {
                        me.$results.css({ 'height': (parentBodyHeight - 40) + 'px' });
                    } else {
                        if (sumCount > me.settings.selfAdaptingNum) {
                            resultHeight = me.settings.selfAdaptingNum * (lineHeight + 4);
                            if (me.settings.enableOperation) {
                                var newPanelHeight = parseInt(me.$results.find('.newpanel').css('height')) + 2;
                                resultHeight += newPanelHeight;
                            }
                        }

                        if (resultHeight) {
                            me.$results.css({ 'height': resultHeight + 'px' });
                        }
                    }
                }
            },
            hideResults: function() {
                // this.$bgiframe.hide();
                if ($.browser.version == '6.0') {
                    this.showSelect(this.$results.attr('id')); //Add by yewf 2010-3-25
                }
                this.$results.hide(this.settings.speed);
            },
            dataCheck: function() {
                var me = this;
                if (me.$value.val()) {
                    $(me.target).val(me.$results.find('.list-result').children('li#' + me.$value.val()).text());
                    if (!me.$results.find('.list-result').children('li#' + me.$value.val()).text()) {
                        me.$value.val("");
                    }
                }
                else {
                    if ($(me.target).val() && $(me.target).val() != me.settings.emptyText) {
                        var itemList = me.$results.find('.list-result').children("li[category='scombolistitem']");
                        $.each(itemList, function(index, item) {
                            if ($(item).text() == $(me.target).val()) {
                                me.$value.val(item.id);
                            }
                        });

                        if (me.settings.inputCheck) {
                            if ((!me.$value.val()) && (!$(me.target).hasClass('field-error'))) {
                                //alert('laudy');
                                $(me.target).addClass('field-error');
                                $(me.target).val(me.settings.emptyText);
                                me.$value.val(me.settings.emptyValue);
                                //me.hideResults();
                            }
                        }
                    }
                }
            },
            setItemSelected: function(item) {
                var me = this;
                if (!item) return;
                if (!me.settings.multiSelect) {
                    me.$results.find(".list-result").children('li').removeClass('selected');
                    $(item).addClass('selected');
                }
                else {
                    if ($(item).attr('category') == 'scombolistitem') {
                        if (!$(item).hasClass('selected')) {
                            $(item).addClass('selected');
                        }
                    }
                    var checkarea = $(item).find('div.check');
                    if (!checkarea.hasClass('checked')) {
                        checkarea.removeClass('partchecked').addClass('checked');
                    }
                }
            },
            setItemUnselected: function(item) {
                var me = this;
                if (!item) return;
                if (!me.settings.multiSelect) {
                    $(item).removeClass('selected');
                }
                else {
                    if ($(item).attr('category') == 'scombolistitem') {
                        if ($(item).hasClass('selected')) {
                            $(item).removeClass('selected');
                        }
                    }
                    var checkarea = $(item).find('div.check');
                    checkarea.removeClass('partchecked').removeClass('checked');
                }
            },
            styleItemBy: function(txtOrVal, cat) {
                var me = this;
                var item = me.getItemBy(txtOrVal, cat);
                if (item) {
                    me.setItemSelected(item);
                }
                else {
                    $.each(me.$results.find('.list-result').children('li'), function(index, item) {
                        me.setItemUnselected(item);
                    });
                }
            },
            getCurrentResult: function(obj) {
                var me = this;
                if (!me.$results.is(':visible')) return false;
                var $curResult = false;
                if (!obj) {
                    $curResult = me.$results.find('.list-result').children('li.select');
                }
                else {
                    $curResult = $(obj);
                }
                return $curResult;
            },
            selectItem: function(item) {
                if (!item) return;
                var me = this;
                if (!me.settings.multiSelect) {
                    //edit by yewf 2010-04-20 这里增加判断选择是否为&nbsp;空
                    if (escape(item.text()) == '%A0')
                        $(me.target).val('');
                    else
                        $(me.target).val($.trim(item.text())); // old code
                    me.$value.val(item.attr('id'));
                }
                else {
                    var hasSelectedVal = me.$value.val();
                    if (!hasSelectedVal) {
                        $(me.target).val('').val(item.text());
                        me.$value.val('').val(item.attr('id'));
                    }
                    else {
                        if (hasSelectedVal.indexOf(item.attr('id')) == -1) {
                            $(me.target).val($(me.target).val() + me.settings.delimiter + item.text());
                            me.$value.val(me.$value.val() + me.settings.delimiter + item.attr('id'));
                        }
                    }
                }
            },
            unselectItem: function(item) {
                if (!item) return;
                var me = this;
                var selectedVal = me.$value.val();
                var selectedTxt = $(me.target).val();
                var curVal = item.attr('id');
                var curTxt = item.text();
                if (selectedVal.indexOf(curVal) != -1) {
                    if (selectedVal == curVal) {
                        me.$value.val('');
                    }
                    else {
                        var arrVal = selectedVal.split(me.settings.delimiter);
                        $.scombo.deleteMatchItem(arrVal, curVal);
                        me.$value.val(arrVal.join(me.settings.delimiter));
                    }
                }

                if (selectedTxt.indexOf(curTxt) != -1) {
                    if (selectedTxt == curVal) {
                        $(me.target).val('');
                    }
                    else {
                        var arrTxt = selectedTxt.split(me.settings.delimiter);
                        $.scombo.deleteMatchItem(arrTxt, curTxt);
                        $(me.target).val(arrTxt.join(me.settings.delimiter));
                    }
                }
            },
            selectCurrentResult: function(obj) {
                var me = this;
                var item = me.getCurrentResult(obj);
                //修复先用键盘再用鼠标选择可能会选择两项的BUG
                me.$results.find('.list-result').children('li.select').removeClass('select');
                if (item) {
                    if (!me.settings.multiSelect) {
                        //alert('select');
                        me.selectItem(item)
                        me.hideResults();
                    }
                    else {
                        var txt = $.trim($(me.target).val());
                        var ve = $.trim(me.$value.val());
                        var curValue = item.attr('id');
                        var curTxt = item.text();

                        var sel = false;
                        if (item.find('div.check').hasClass('checked')) {
                            sel = true;
                        }

                        var groupSel = false;
                        if (item.attr('category') == 'scombogrpname') {
                            groupSel = true;
                        }
                        //alert('sel:' + sel + ' groupSel:' + groupSel);

                        if (!groupSel) {//非组选
                            if (sel) {//选中
                                me.selectItem(item);
                            }
                            else {//取消选中
                                me.unselectItem(item);
                            }
                        }
                        else {//组选
                            var grpIndex = curValue.substr(3);
                            var grpItemList = me.getChildListOfGroup(grpIndex);

                            $.each(grpItemList, function(liIndex, liItem) {
                                if (sel) {//选中								
                                    me.selectItem(liItem);
                                }
                                else {//取消选中
                                    me.unselectItem(liItem);
                                }
                            });
                        }
                    }
                    this.styleSel();
                }
                else {
                    alert('获取当前选中项失败');
                }
            },
            styleCurrentResult: function(obj) {
                var me = this;
                if (!me.settings.multiSelect) {
                    me.setItemSelected(obj);
                }
                else {
                    var checkarea = $(obj).find('div.check');

                    if (!checkarea.hasClass('checked')) {
                        me.setItemSelected(obj);
                    }
                    else {
                        me.setItemUnselected(obj);
                    }

                    if (me.settings.group && $(obj).attr('category') == 'scombolistitem') {
                        var grpId = me.getGroupIdBy(obj);
                        var grpItem = me.$results.find('.list-result').children('li#' + grpId);
                        var grpIndex = grpId.substr(3);
                        var grpItemList = me.getChildListOfGroup(grpIndex);
                        var allSelected = true;
                        $.each(grpItemList, function(index, item) {
                            if (!item.find('div.check').hasClass('checked')) {
                                allSelected = false;
                                return false;
                            }
                        });
                        var allUnselected = true;
                        $.each(grpItemList, function(index, item) {
                            if (item.find('div.check').hasClass('checked')) {
                                allUnselected = false;
                                return false;
                            }
                        });
                        //alert('allSelected:' + allSelected + ' allUnselected:' + allUnselected);
                        if (allSelected || allUnselected) {
                            if (allSelected) {
                                me.setItemSelected(grpItem.get(0));
                            }

                            if (allUnselected) {
                                me.setItemUnselected(grpItem.get(0));
                            }
                        }
                        else {//部分选中
                            grpItem.find('div.check').removeClass('checked').addClass('partchecked');
                        }
                    }

                    if ($(obj).attr('category') == 'scombogrpname') {
                        var sel = false;
                        if (checkarea.hasClass('checked')) {
                            sel = true;
                        }
                        var grpIndex = $(obj).attr('id').substr(3);
                        var grpItemList = me.getChildListOfGroup(grpIndex);
                        $.each(grpItemList, function(itemIndex, item) {
                            if (sel) {
                                me.setItemSelected(item.get(0));
                            }
                            else {
                                me.setItemUnselected(item.get(0));
                            }
                        });
                    }
                }
            },
            getItemBy: function(txtOrVal, cat) {
                if ((!txtOrVal) || (!cat)) return;
                var me = this;
                var itemList = me.$results.find('.list-result').children("li[category='scombolistitem']");
                var targetItem;
                $.each(itemList, function(index, item) {
                    if (cat == 'text') {
                        if ($(item).text() == txtOrVal) {
                            targetItem = item;
                            return true;
                        }
                    }
                    else if (cat == 'value') {
                        if ($(item).attr('id') == txtOrVal) {
                            targetItem = item;
                            return true;
                        }
                    }
                });
                return targetItem;
            },
            getGroupIdBy: function(item) {
                if (!item) return;
                var me = this;
                if (!me.settings.group) return;
                var grpId;
                if ($(item).attr('category') == 'scombogrpname') {
                    grpId = item.id;
                }
                else {
                    var grpItem;
                    var prev = $(item).prev();
                    while (prev) {
                        if (prev.attr('category') == 'scombogrpname') {
                            grpItem = prev;
                            break;
                        }
                        prev = prev.prev();
                    }
                    grpId = grpItem.attr('id');
                }
                return grpId;
            },
            getChildListOfGroup: function(grpIndex) {
                var me = this;
                var itemSize = me.countOfGroup(grpIndex);
                //alert(itemSize);
                var grpItemList = new Array();
                if (itemSize > 0) {
                    var curItem = me.$results.find('.list-result').children('li#grp' + grpIndex);
                    if (curItem) {
                        var next = curItem.next();
                        for (var i = 0; i < itemSize; i++) {
                            if (next && next.attr('category') != 'scombogrpname') {
                                grpItemList.push(next);
                            }
                            next = next.next();
                        }
                    }
                    else {
                        alert('指定的组索引非法');
                    }
                }
                return grpItemList;
            },
            //begin add by yewf 2010-3-26 增加层的滚动条处理
            moveDivScrollTop: function(operate, item) {
                var parentDivCurrentScrollTop = this.$results.scrollTop();

                if (item) {
                    var moveScrollTop;
                    if (operate == "DOWN") {
                        moveScrollTop = parentDivCurrentScrollTop;
                        if (parseInt(item.attr('index')) > 0)
                            moveScrollTop = parentDivCurrentScrollTop + parseInt(item.css('line-height'));
                    }
                    else {
                        moveScrollTop = parentDivCurrentScrollTop - parseInt(item.css('line-height'));
                    }
                    this.$results.scrollTop(moveScrollTop);
                }
            },
            //end
            nextResult: function() {
                //begin add by yewf 2010-3-28
                //判断是否已存在选择的item，有的话，直接跳到已选择的item位置，滚动条做相应滚动
                //old code
                //var item = this.getCurrentResult();

                var item;
                var selectedItem;

                if (this.val() == '') {
                    selectedItem = this.$results.find('.list-result').children('li.select');
                }
                else {

                    selectedItem = this.$results.find('.list-result').children('li.selected');
                }

                if (selectedItem && selectedItem.text() != '') {
                    selectedItem.removeClass('selected');
                    selectedItem.addClass('select');
                    item = selectedItem;

                    //将滚动条移动到当前选择位置，这里只有IE6才会出现滚动条回到0的情况
                    if ($.browser.version == '6.0') {
                        var liHeight = selectedItem.css('line-height') == "auto" ? 12 : parseInt(selectedItem.css('line-height'));
                        var prevAllItemCount = (selectedItem.prevAll('li').length == 0 ? 1 : selectedItem.prevAll('li').length);

                        this.$results.scrollTop(liHeight * prevAllItemCount);
                    }
                }
                else {
                    item = this.getCurrentResult();
                }
                //end

                if (item.length) {
                    if (item.attr('id') != this.$results.find('.list-result').children('li:last-child').attr('id')) {
                        var nextItems = item.nextAll('li');
                        var nextVisibleItem;
                        if (nextItems.length) {
                            for (var i = 0; i < nextItems.length; i++) {
                                if ($(nextItems[i]).is(":visible")) {
                                    nextVisibleItem = $(nextItems[i]);
                                    break;
                                }
                            }
                            if (nextVisibleItem) {
                                item.removeClass('select');
                                nextVisibleItem.addClass('select');
                            }
                        }
                        if (nextVisibleItem) {
                            if (nextVisibleItem.attr("category") == 'scombogrpname') {
                                this.nextResult();
                            }
                        }


                    }
                }
                else {
                    var visibleItems = this.$results.find('.list-result').children('li:visible');
                    if (visibleItems.length) {
                        $(visibleItems[0]).addClass('select');
                        if ($(visibleItems[0]).attr('category') == 'scombogrpname') {
                            this.nextResult();
                        }
                    }
                }

                //控制层的滚动条的移动
                this.moveDivScrollTop('DOWN', item);
            },
            prevResult: function() {
                //begin add by yewf 2010-3-28
                //判断是否已存在选择的item，有的话，直接跳到已选择的item位置，滚动条做相应滚动
                //old code
                //var item = this.getCurrentResult();

                var item;
                var selectedItem = this.$results.find('.list-result').children('li.selected');

                if (selectedItem && selectedItem.text() != '') {
                    selectedItem.removeClass('selected');
                    selectedItem.addClass('select');
                    item = selectedItem;

                    //将滚动条移动到当前选择位置，这里只有IE6才会出现滚动条回到0的情况
                    if ($.browser.version == '6.0') {
                        var liHeight = selectedItem.css('line-height') == "auto" ? 12 : parseInt(selectedItem.css('line-height'));
                        var prevAllItemCount = (selectedItem.prevAll('li').length == 0 ? 1 : selectedItem.prevAll('li').length);

                        this.$results.scrollTop(liHeight * prevAllItemCount);
                    }
                }
                else {
                    item = this.getCurrentResult();
                }
                //end

                if (item) {
                    if (item.attr('id') != this.$results.find('.list-result').children('li:first-child').attr('id')) {
                        var prevItems = item.prevAll('li');
                        var dprevVisibleItem;
                        var prevVisibleItem;
                        if (prevItems.length) {
                            for (var i = 0; i < prevItems.length; i++) {
                                var dprevTemp = $(prevItems[i]).prev();
                                if (dprevTemp && dprevTemp.is(':visible')) {
                                    dprevVisibleItem = dprevTemp;
                                }

                                if ($(prevItems[i]).is(':visible')) {
                                    prevVisibleItem = $(prevItems[i]);
                                    break;
                                }
                            }
                        }

                        if (!dprevVisibleItem) {
                            if (prevVisibleItem && prevVisibleItem.attr("category") != 'scombogrpname') {
                                item.removeClass('select');
                                prevVisibleItem.addClass('select');
                            }
                        }
                        else {
                            if (prevVisibleItem || dprevVisibleItem) {
                                item.removeClass('select');
                                if (prevVisibleItem && prevVisibleItem.attr("category") != 'scombogrpname') {
                                    prevVisibleItem.addClass('select');
                                }
                                else {
                                    dprevVisibleItem.addClass('select');
                                }
                            }
                        }

                        //控制层的滚动条的移动
                        this.moveDivScrollTop('UP', prevVisibleItem);
                    }
                }
                /*else {							
                this.$results.find('.list-result').children('li:last-child').addClass('select');
                if(this.settings.group){
                this.prevResult();
                }
                }*/
            },
            itemEventHandler: function(item) {
                var me = this;
                item.hover(function() {
                    if (!me.settings.multiSelect) {
                        if ($(this).attr('category') != 'scombogrpname') {
                            $(this).addClass('select');
                        }
                    }
                    else {
                        if ($(this).attr('category') == 'scombogrpname') {
                            if (me.settings.enableGroupSelect) {
                                $(this).addClass('select');
                            }
                        }
                        else {
                            $(this).addClass('select');
                        }
                    }
                },

				function() {
				    $(this).removeClass('select');
				}).click(function(event) {
				    var eventTrigger = true;
				    if (me.settings.multiSelect) {
				        if ($(this).attr('category') == 'scombogrpname' && (!me.settings.enableGroupSelect)) {
				            eventTrigger = false;
				        }
				    }
				    else {
				        if ($(this).attr('category') == 'scombogrpname') {
				            eventTrigger = false;
				        }
				    }
				    //alert(eventTrigger);
				    if (eventTrigger) {
				        me.styleCurrentResult(this);
				        me.selectCurrentResult(this);
				    }

				    if (!me.settings.multiSelect) {
				        if (me.settings.onSelected) {
				            me.settings.onSelected(me);
				        }
				    }
				});


            },
            addItem: function(val, txt, groupId) {
                var me = this;
                var insertMode = 'insertAfter';
                var insertRefer = null;
                var itemCount = 0;
                var liItem = null;
                var liClass;

                var grpItem = me.$results.find('.list-result').children('li#grp' + groupId);

                if (grpItem.length) {
                    //alert('add group item');
                    var nextItem = grpItem.next();
                    while (nextItem.length) {
                        if (!nextItem.attr("index")) {
                            insertMode = 'insertBefore';
                            insertRefer = nextItem;
                            break;
                        }
                        else {
                            itemCount++;
                        }
                        dNextItem = nextItem.next();
                        if (!dNextItem) {
                            insertMode = 'insertAfter';
                            insertRefer = nextItem;
                            break;
                        }
                        nextItem = dNextItem;
                    }

                    if (!nextItem.length) {
                        insertMode = 'insertAfter';
                        insertRefer = grpItem;
                    }
                    try {
                        var grpIndex = parseInt(groupId);
                        me.grpItemListCounts[grpIndex] = itemCount + 1;
                    }
                    catch (e) {
                        alert('请确认插件初始化是否已完成，并确保参数groupId为整数');
                    }
                    liClass = (itemCount % 2 == 1) ? "odd indent" : "even indent";
                }
                else {
                    //alert('add normal item');
                    itemCount = me.$results.find('.list-result').children('li').length;
                    liClass = (itemCount % 2 == 1) ? "odd" : "even";
                    insertMode = 'insertAfter';
                    insertRefer = me.$results.find('.list-result').children('li:last-child').get(0);
                    me.settings.count++;
                }

                var itemHtml = me.addLi(val, itemCount, 'scombolistitem', liClass, txt, me.settings.multiSelect);
                liItem = $(itemHtml);
                me.itemEventHandler(liItem);

                switch (insertMode) {
                    case 'insertAfter':
                        liItem.insertAfter(insertRefer);
                        break;
                    case 'insertBefore':
                        liItem.insertBefore(insertRefer);
                        break;
                }
            },
            //edit by yewf 2010-3-28 这是旧方法，暂未发现有用
            addGroup: function(grpname) {
                var me = this;
                if (me.settings.group && grpname && typeof grpname == 'string' && grpname.length) {
                    var grpCount = me.count();
                    var itemHtml = me.addLi(0, grpCount, 'scombogrpname', 'grpname', grpname, me.settings.multiSelect && me.settings.enableGroupSelect);
                    var grpItem = $(itemHtml);
                    me.itemEventHandler(grpItem);
                    grpItem.insertAfter(me.$results.find('.list-result').children('li:last-child').get(0));
                    me.settings.count++;
                }
                else {
                    alert('请确认是否为分组列表，并检查参数是否正确');
                }
                // return count of group
                return me.count();
            },
            addLi: function(id, index, category, cls, txt, multi) {
                var liHtml = '';
                if (typeof category == 'string') {
                    if (category == 'scombolistitem') {
                        liHtml += "<li index='" + index + "' id='" + id + "' class='" + cls + "' category='" + category + "'>";
                        if (multi) {
                            liHtml += "<div class='check'></div>";
                        }

                        liHtml += txt + "</li>";
                    }
                    else if (category == 'scombogrpname') {
                        liHtml += "<li id='grp" + index + "' class='" + cls + "' category='" + category + "'>";
                        if (multi) {
                            liHtml += "<div class='check'></div>";
                        }
                        liHtml += txt + "</li>";
                    }
                }
                else {
                    alert('category parameter error');
                }

                return liHtml;
            },
            /* begin
            *Add by yewf 2010-3-25 
            *ie6selectHelper
            *用于在显示层时，隐藏Select控件
            */
            isInRange: function(elem, containerId) {
                //alert(this.idAs);
                var containerDiv = document.getElementById(containerId);
                if (!containerDiv)
                    return false;
                //as_asName_txtSuggestBoxasName
                var elemX1 = this.getX(elem);
                var elemY1 = this.getY(elem);
                var elemX2 = elem.offsetWidth + elemX1;
                var elemY2 = elem.offsetHeight + elemY1;

                var containerX1 = this.getX(containerDiv);
                var containerY1 = this.getY(containerDiv);
                var containerX2 = containerDiv.offsetWidth + containerX1;
                var containerY2 = containerDiv.offsetHeight + containerY1;


                if (elemX1 < containerX1 && elemX2 < containerX1)
                    return false;


                if (elemX1 > containerX2 && elemX2 > containerX2)
                    return false;


                if (elemY1 < containerY1 && elemY2 < containerY1)
                    return false;


                //alert( "elemY1: " + elemY1 + "--elemY2: " + elemY2 + "--containerY2:" + containerY2 );
                if (elemY1 > containerY2 && elemY2 > containerY2)
                    return false;

                //alert(6);
                return true;
            },
            hideSelect: function(containerId) {

                if (this.msieversion() <= 6 && document.all) {

                    var selects = document.getElementsByTagName("select");

                    for (var i = 0; i < selects.length; i++) {

                        var oneSelect = selects[i];

                        if (!this.isInRange(oneSelect, containerId)) {
                            continue;
                        }

                        if (oneSelect.style.visibility != "hidden") {
                            oneSelect.style.visibility = "hidden";
                            this.selectList.push(oneSelect);
                        }
                    }
                }
            },
            showSelect: function() {
                for (var i = 0; i < this.selectList.length; i++)
                    this.selectList[i].style.visibility = "visible";

                while (this.selectList.length > 0)
                    this.selectList.pop();
            },
            getX: function(oElement) {
                var iReturnValue = 0;
                while (oElement != null) {
                    iReturnValue += oElement.offsetLeft;
                    oElement = oElement.offsetParent;
                }
                return iReturnValue;
            },
            getY: function(oElement) {
                var iReturnValue = 0;
                while (oElement != null) {
                    iReturnValue += oElement.offsetTop;
                    oElement = oElement.offsetParent;
                }
                return iReturnValue;
            },
            msieversion: function() {
                var ua = window.navigator.userAgent
                var msie = ua.indexOf("MSIE ")

                if (msie > 0)      // If Internet Explorer, return version number
                    return parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)))
                else                 // If another browser, return 0
                    return 0

            }
            //end
        },
        deleteMatchItem: function(arr, item) {
            var arrPos = new Array();
            for (var i = 0; i < arr.length; i++) {
                if (arr[i] == item) {
                    arrPos.push(i);
                    //break;
                }
            }

            $.each(arrPos.reverse(), function(i, pos) {
                arr.splice(pos, 1);
            });
            //alert('返回：' + arr);
            return arr;
        },
        getChineseInitial: function(chinese) {
            if (typeof (chinese) != "string")
                return;

            chinese = $.trim(chinese);
            var arrResult = new Array();
            for (var i = 0, len = chinese.length; i < len; i++) {
                var ch = chinese.charAt(i);
                arrResult.push($.scombo.checkChinese(ch));
            }
            //alert(arrResult);
            return $.scombo.handleInitialResult(arrResult);
        },
        checkChinese: function(ch) {
            var uni = ch.charCodeAt(0);
            //var chinese = String.fromCharCode(uni);
            if (uni > 40869 || uni < 19968)
                return ch;
            //check whether or not multi diff，example:chongqing			
            return (oMultiDiff[uni] ? oMultiDiff[uni] : (strChineseFirstPY.charAt(uni - 19968)));
        },
        handleInitialResult: function(arrInitial) {
            var arrRslt = [""];
            for (var i = 0, len = arrInitial.length; i < len; i++) {
                var str = arrInitial[i];
                var strlen = str.length;

                if (strlen == 1) {
                    for (var k = 0; k < arrRslt.length; k++) {
                        arrRslt[k] += str;
                    }
                }
                else {
                    //alert('arrRslt:' + arrRslt);
                    var tmpArr = arrRslt.slice(0);
                    //alert('tmpArr:' + tmpArr);
                    arrRslt = [];
                    for (k = 0; k < strlen; k++) {
                        //alert(str.charAt(k));
                        var tmp = tmpArr.slice(0);
                        for (var j = 0; j < tmp.length; j++) {
                            tmp[j] += str.charAt(k);
                        }
                        arrRslt = arrRslt.concat(tmp);
                        //alert('rslt:' + arrRslt);
                    }
                }
            }
            return arrRslt;
        }
    });

    $.fn.scombo = function(options) {
        //alert(this.get(0).id);
        if (!this.length) {
            window.console && console.warn("nothing selected, returning nothing");
            return;
        }

        var els = $.data(this.get(0), 'scombo');
        if (els) {
            //alert("scombo object already exists!");
            return els;
        }
        else {
            els = new Array();
        }

        this.each(function() {
            //alert(this.id);
            var el = new $.scombo(this, options);
            els.push(el);
        });

        $.data(this.get(0), "scombo", els);

        return els.length == 1 ? els[0] : els;
    };
})(jQuery)